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; } } } }