using DataEntity.Share;
using DataRWDAL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.ObjectModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using XCommon.Log;
using XImagingXhandler.XDAL;
namespace XHandler.View.Consumables
{
///
/// OtherSetting.xaml 的交互逻辑
///
public partial class OtherSetting : UserControl
{
public Labware labware { get; set; }
public OtherSetting()
{
InitializeComponent();
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
}
public void SetLabware(Labware lb)
{
labware = lb;
this.DataContext = labware;
checkBoxMove.IsChecked = labware.is_moved == 1 ? true : false;
cbxispiled.IsChecked = labware.is_piled == 1;
cbxispiling.IsChecked = labware.is_piling == 1;
cbxispilingon.IsChecked = labware.is_pilingon == 1;
}
private void checkBoxMove_Checked(object sender, RoutedEventArgs e)
{
if (labware == null)
return;
labware.is_moved = 1;
txtgripper_x_offset.IsEnabled = true;
txtgripper_y_offset.IsEnabled = true;
txtgripper_z_offset.IsEnabled = true;
txtgripper_squeeze.IsEnabled = true;
txtgripper_spread.IsEnabled = true;
txtgripperSpeed.IsEnabled = true;
}
private void checkBoxMove_Unchecked(object sender, RoutedEventArgs e)
{
if (labware == null)
return;
labware.is_moved = 0;
txtgripper_x_offset.IsEnabled = false;
txtgripper_y_offset.IsEnabled = false;
txtgripper_z_offset.IsEnabled = false;
txtgripper_squeeze.IsEnabled = false;
txtgripper_spread.IsEnabled = false;
txtgripperSpeed.IsEnabled = false;
}
private void btnIsPiled_Click(object sender, RoutedEventArgs e)
{
try
{
string strlabwares = labware.piled_script;
ObservableCollection labwares = new ObservableCollection();
if (!string.IsNullOrEmpty(strlabwares))
{
JObject job = JObject.Parse(strlabwares);
JArray jArray = (JArray)job["list"];
if (jArray != null)
{
for (int i = 0; i < jArray.Count; i++)
{
Labware labware = new Labware();
labware = LabwareDB.GetLabware(jArray[i]["labwereid"].ToString());
labware.x = jArray[i]["x"].ToString();
labware.y = jArray[i]["y"].ToString();
labware.z = jArray[i]["z"].ToString();
labwares.Add(labware);
}
}
}
PiledPlateSet piledPlateSet = new PiledPlateSet(labwares, labware);
piledPlateSet.Owner = (Window)Shared.Main;
piledPlateSet.Height = this.ActualHeight;
piledPlateSet.Width = this.ActualWidth;
SolidColorBrush mybtn1_Brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(0, 0, 0, 0));
piledPlateSet.Background = (System.Windows.Media.Brush)mybtn1_Brush;
piledPlateSet.ShowDialog();
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void btnIspilingOn_Click(object sender, RoutedEventArgs e)
{
try
{
string strlabwares = labware.tip_loaded_type;
ObservableCollection labwares = new ObservableCollection();
if (!string.IsNullOrEmpty(strlabwares))
{
JObject job = JObject.Parse(strlabwares);
JArray jArray = (JArray)job["list"];
if (jArray != null)
{
for (int i = 0; i < jArray.Count; i++)
{
Labware labware = new Labware();
labware = LabwareDB.GetLabware(jArray[i]["labwereid"].ToString());
labware.x = jArray[i]["x"].ToString();
labware.y = jArray[i]["y"].ToString();
labware.z = jArray[i]["z"].ToString();
labwares.Add(labware);
}
}
}
PilingonPlateSet pilingonPlateSet = new PilingonPlateSet(labwares, labware);
pilingonPlateSet.Height = this.ActualHeight;
pilingonPlateSet.Width = this.ActualWidth;
SolidColorBrush mybtn1_Brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(0, 0, 0, 0));
pilingonPlateSet.Background = (System.Windows.Media.Brush)mybtn1_Brush;
pilingonPlateSet.ShowDialog();
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
private void cbxispiled_Checked(object sender, RoutedEventArgs e)
{
btnIsPiled.IsEnabled = (bool)cbxispiled.IsChecked;
if (labware == null)
return;
if ((bool)cbxispiled.IsChecked)
{
labware.is_piled = 1;
}
else
{
labware.is_piled = 0;
}
}
private void cbxispilingon_Checked(object sender, RoutedEventArgs e)
{
btnIspilingOn.IsEnabled = (bool)cbxispilingon.IsChecked;
if (labware == null)
return;
if ((bool)cbxispilingon.IsChecked)
{
labware.is_pilingon = 1;
}
else
{
labware.is_pilingon = 0;
}
}
private void cbxispiling_Checked(object sender, RoutedEventArgs e)
{
if ((bool)cbxispiling.IsChecked)
{
labware.is_piling = 1;
}
else
{
labware.is_piling = 0;
}
}
}
}