using DataEntity;
|
using DataRWDAL;
|
using Microsoft.Win32;
|
using System;
|
using System.Collections.Generic;
|
using System.Collections.ObjectModel;
|
using System.Configuration;
|
using System.Data;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows;
|
using System.Windows.Controls;
|
using System.Windows.Data;
|
using System.Windows.Documents;
|
using System.Windows.Input;
|
using System.Windows.Media;
|
using System.Windows.Media.Imaging;
|
using System.Windows.Navigation;
|
using System.Windows.Shapes;
|
using XCommon.Log;
|
using XCore;
|
using XHandler.Class;
|
using XImagingXhandler.XDAL;
|
using XCoreBLL;
|
using DataEntity.Share;
|
using XHandler.Class.DataEx;
|
using System.Text.RegularExpressions;
|
using HandyControl.Data;
|
using XCommon.Tip;
|
using System.Runtime.Remoting.Channels;
|
|
namespace XHandler.View.MethodProperty
|
{
|
/// <summary>
|
/// FileMoveLiquidProperty.xaml 的交互逻辑
|
/// </summary>
|
public partial class FileMoveLiquidProperty : UserControl
|
{
|
FileMoveLiquidBll fileMoveLiquidBll = new FileMoveLiquidBll();
|
public MethodFileMoveLiquid methodFileMoveLiquid { get; set; }
|
public MethodFileMoveLiquid currmethodFileMoveLiquid = null;
|
public MethodEx method = null;
|
private Labware selectedLabware = null;
|
int curArmSelectedIndex = -1;
|
|
#region 全局变量
|
string isrun = "";
|
string status = "";
|
string name = "";
|
string label = "";
|
string armText = "";
|
string armValue = "";
|
string labwaretipText = "";
|
string labwaretipValue = "";
|
int[] channels = new int[0] { };
|
|
string filePath = "";
|
int beginLine = 0;
|
DataTable transferDataTable = new DataTable();
|
string sourceLabware = "";
|
string sourceWell = "";
|
string aspVolume = "";
|
string aspOpenLid = "";
|
string aspCloseLid = "";
|
string destinationLabware = "";
|
string destinationWell = "";
|
string dpsOpenLid = "";
|
string dpsCloseLid = "";
|
string dpsVolume = "";
|
string tipSet = "";
|
int changeTipsMode = 0;
|
string changeToTipText = "";
|
int changeToTipValue = 0;
|
bool jump0Volume = false;
|
|
string liquididText = "";
|
string liquididValue = "";
|
string liquidrangeidText = "";
|
string liquidrangeidValue = "";
|
string liquidpidText = "";
|
string liquidpidValue = "";
|
|
bool baspMix = false;
|
double aspmixvolume = 0.0d;
|
int aspmixcount = 0;
|
string aspmixAspiratePositionText = "";
|
int aspmixAspiratePositionValue = 0;
|
double aspmixAspirateDistance = 0.0d;
|
double aspmixAspirateSpeed = 0.0d;
|
string aspmixDispensePositionText = "";
|
int aspmixDispensePositionValue = 0;
|
double aspmixDispenseDistance = 0.0d;
|
double aspmixDispenseSpeed = 0.0d;
|
|
bool bdpsMix = false;
|
double dpsmixvolume = 0.0d;
|
int dpsmixcount = 0;
|
string dpsmixAspiratePositionText = "";
|
int dpsmixAspiratePositionValue = 0;
|
double dpsmixAspirateDistance = 0.0d;
|
double dpsmixAspirateSpeed = 0.0d;
|
string dpsmixDispensePositionText = "";
|
int dpsmixDispensePositionValue = 0;
|
double dpsmixDispenseDistance = 0.0d;
|
double dpsmixDispenseSpeed = 0.0d;
|
|
bool enableLiquidSensor = false;
|
int liquidSensorCount = 0;
|
double liquidSensorDistance = 0.0d;
|
double liquidSensorEndDistance = 0.0d;
|
double liquidSensorSpeed = 0.0d;
|
double liquidSensorRadio = 0.0d;
|
string liquidSensorDisIdText = "";
|
double liquidSensorDisIdValue = 0.0d;
|
bool enableLiquidFollow = false;
|
int liquidFollowType = 0;
|
string liquidFollowTypeName = "";
|
double liquidFollowSpeed = 0.0d;
|
double liquidFollowDistance = 0.0d;
|
double liquidFollowArea = 0.0d;
|
bool enableMixFollow = false;
|
|
bool enableSensorBlock = false;
|
double liquidSensorBlockDistance = 0.0d;
|
string aspirateBlockDisIdText = "";
|
int aspirateBlockDisIdValue = 0;
|
string dispenseBlockDisIdText = "";
|
int dispenseBlockDisIdValue = 0;
|
string aspirateAirDisIdText = "";
|
int aspirateAirDisIdValue = 0;
|
|
int mark = 0;
|
#endregion
|
|
#region 构造
|
public FileMoveLiquidProperty()
|
{
|
InitializeComponent();
|
}
|
#endregion
|
|
#region 构造函数带参
|
public FileMoveLiquidProperty(MethodEx method)
|
{
|
InitializeComponent();
|
try
|
{
|
mark = 0;
|
methodFileMoveLiquid = new MethodFileMoveLiquid();
|
methodFileMoveLiquid.label = method.method_name;
|
methodFileMoveLiquid.name = method.method_name;
|
methodFileMoveLiquid.status = (method.isEnabled == true ? "enable" : "disable");
|
|
|
ObservableCollection<LiquidType> liquidTypeList = DataModule.getInstance().GetLiquidTypes();
|
cbLiquidType.ItemsSource = liquidTypeList;
|
cbLiquidType.SelectedIndex = 0;
|
|
ObservableCollection<Labware> tipsList = DataRWDAL.LabwareDB.GetTipLabwareFromdb();
|
cbTipsType.ItemsSource = tipsList;
|
cbTipsType.SelectedIndex = 0;
|
|
ObservableCollection<LiquidRange> liquidRangeList = DataModule.getInstance().GetLiquidRanges();
|
cbLiquidRange.ItemsSource = liquidRangeList;
|
cbLiquidRange.SelectedIndex = 0;
|
|
|
List<DeviceArm> armList = DataModule.getInstance().GetDeviceArm();
|
cbArm.ItemsSource = armList;
|
if (armList.Count == 2) //只有一个臂的情况下默认选中该臂
|
curArmSelectedIndex = 1;
|
else
|
curArmSelectedIndex = 0;
|
|
gdLiquidFollow.RowDefinitions[1].Height = new GridLength(0);
|
gdLiquidFollow.RowDefinitions[2].Height = new GridLength(0);
|
gdLiquidFollow.RowDefinitions[3].Height = new GridLength(0);
|
gdLiquidFollow.RowDefinitions[4].Height = new GridLength(0);
|
|
// 获取加液、取液位置类型
|
ObservableCollection<DropdownName> mixPositionList = DataModule.getInstance().GetDispensePositionType();
|
cbMixAspiratePosition.ItemsSource = mixPositionList;
|
cbMixDispensePosition.ItemsSource = mixPositionList;
|
cbDpsMixAspiratePosition.ItemsSource = mixPositionList;
|
cbDpsMixDispensePosition.ItemsSource = mixPositionList;
|
|
cbMixAspiratePosition.SelectedIndex = 0;
|
cbMixDispensePosition.SelectedIndex = 0;
|
cbDpsMixAspiratePosition.SelectedIndex = 0;
|
cbDpsMixDispensePosition.SelectedIndex = 0;
|
tbxCommandLabel.Text = method.method_name;
|
checkboxSkip.IsChecked = true;
|
|
ObservableCollection<string> listProcess = DataModule.getInstance().GetUndetectProcessList();
|
cbxLiquidSensorDisId.ItemsSource = listProcess;
|
|
ObservableCollection<string> listAspirateBlockProcess = DataModule.getInstance().GetAspirateBlockDealTypeList();
|
cbxAspirateBlockDealType.ItemsSource = listAspirateBlockProcess;
|
|
ObservableCollection<string> listDispenseBlockProcess = DataModule.getInstance().GetDispenseBlockDealTypeList();
|
cbxDispenseBlockDealType.ItemsSource = listDispenseBlockProcess;
|
|
ObservableCollection<string> listAspirateAirProcess = DataModule.getInstance().GetAspirateAirDealTypeList();
|
cbxAspirateAirDealType.ItemsSource = listAspirateAirProcess;
|
|
|
ObservableCollection<string> listLiquidFollowType = DataModule.getInstance().GetLiquidFollowTypeList();
|
cbxLiquidFollowType.ItemsSource = listLiquidFollowType;
|
|
radioBtnNotChange.IsChecked = true;
|
methodFileMoveLiquid.strIndex = method.strIndex;
|
this.method = method;
|
if (method.tag != null)
|
{
|
methodFileMoveLiquid = (MethodFileMoveLiquid)method.tag;
|
|
currmethodFileMoveLiquid = methodFileMoveLiquid;
|
|
isrun = methodFileMoveLiquid.isrun;
|
status = methodFileMoveLiquid.status;
|
name = methodFileMoveLiquid.name;
|
label = methodFileMoveLiquid.label;
|
armText = methodFileMoveLiquid.armText;
|
armValue = methodFileMoveLiquid.armValue;
|
labwaretipText = methodFileMoveLiquid.labwaretipText;
|
labwaretipValue = methodFileMoveLiquid.labwaretipValue;
|
channels = methodFileMoveLiquid.channels;
|
|
filePath = methodFileMoveLiquid.filePath;
|
beginLine = methodFileMoveLiquid.beginLine;
|
transferDataTable = methodFileMoveLiquid.transferDataTable;
|
sourceLabware = methodFileMoveLiquid.sourceLabware;
|
sourceWell = methodFileMoveLiquid.sourceWell;
|
aspVolume = methodFileMoveLiquid.aspVolume;
|
aspOpenLid = methodFileMoveLiquid.aspOpenLid;
|
aspCloseLid = methodFileMoveLiquid.aspCloseLid;
|
destinationLabware = methodFileMoveLiquid.destinationLabware;
|
destinationWell = methodFileMoveLiquid.destinationWell;
|
dpsVolume = methodFileMoveLiquid.dpsVolume;
|
dpsOpenLid = methodFileMoveLiquid.dpsOpenLid;
|
dpsCloseLid = methodFileMoveLiquid.dpsCloseLid;
|
tipSet = methodFileMoveLiquid.tipSet;
|
changeTipsMode = methodFileMoveLiquid.changeTipsMode;
|
changeToTipText = methodFileMoveLiquid.changeToTipText;
|
changeToTipValue = methodFileMoveLiquid.changeToTipValue;
|
jump0Volume = methodFileMoveLiquid.jump0Volume;
|
|
liquididText = methodFileMoveLiquid.liquididText;
|
liquididValue = methodFileMoveLiquid.liquididValue;
|
liquidrangeidText = methodFileMoveLiquid.liquidrangeidText;
|
liquidrangeidValue = methodFileMoveLiquid.liquidrangeidValue;
|
liquidpidText = methodFileMoveLiquid.liquidpidText;
|
liquidpidValue = methodFileMoveLiquid.liquidpidValue;
|
baspMix = methodFileMoveLiquid.baspMix;
|
aspmixvolume = methodFileMoveLiquid.aspmixvolume;
|
aspmixcount = methodFileMoveLiquid.aspmixcount;
|
aspmixAspiratePositionText = methodFileMoveLiquid.aspmixAspiratePositionText;
|
aspmixAspiratePositionValue = methodFileMoveLiquid.aspmixAspiratePositionValue;
|
aspmixAspirateDistance = methodFileMoveLiquid.aspmixAspirateDistance;
|
aspmixAspirateSpeed = methodFileMoveLiquid.aspmixAspirateSpeed;
|
aspmixDispensePositionText = methodFileMoveLiquid.aspmixDispensePositionText;
|
aspmixDispensePositionValue = methodFileMoveLiquid.aspmixDispensePositionValue;
|
aspmixDispenseDistance = methodFileMoveLiquid.aspmixDispenseDistance;
|
aspmixDispenseSpeed = methodFileMoveLiquid.aspmixDispenseSpeed;
|
|
bdpsMix = methodFileMoveLiquid.bdpsMix;
|
dpsmixvolume = methodFileMoveLiquid.dpsmixvolume;
|
dpsmixcount = methodFileMoveLiquid.dpsmixcount;
|
dpsmixAspiratePositionText = methodFileMoveLiquid.dpsmixAspiratePositionText;
|
dpsmixAspiratePositionValue = methodFileMoveLiquid.dpsmixAspiratePositionValue;
|
dpsmixAspirateDistance = methodFileMoveLiquid.dpsmixAspirateDistance;
|
dpsmixAspirateSpeed = methodFileMoveLiquid.dpsmixAspirateSpeed;
|
dpsmixDispensePositionText = methodFileMoveLiquid.dpsmixDispensePositionText;
|
dpsmixDispensePositionValue = methodFileMoveLiquid.dpsmixDispensePositionValue;
|
dpsmixDispenseDistance = methodFileMoveLiquid.dpsmixDispenseDistance;
|
dpsmixDispenseSpeed = methodFileMoveLiquid.dpsmixDispenseSpeed;
|
|
enableLiquidSensor = methodFileMoveLiquid.enableLiquidSensor;
|
liquidSensorCount = methodFileMoveLiquid.liquidSensorCount;
|
liquidSensorDistance = methodFileMoveLiquid.liquidSensorDistance;
|
liquidSensorEndDistance = methodFileMoveLiquid.liquidSensorEndDistance;
|
liquidSensorSpeed = methodFileMoveLiquid.liquidSensorSpeed;
|
liquidSensorRadio = methodFileMoveLiquid.liquidSensorRadio;
|
liquidSensorDisIdText = methodFileMoveLiquid.liquidSensorDisIdText;
|
liquidSensorDisIdValue = methodFileMoveLiquid.liquidSensorDisIdValue;
|
enableLiquidFollow = methodFileMoveLiquid.enableLiquidFollow;
|
liquidFollowType = methodFileMoveLiquid.liquidFollowType;
|
liquidFollowTypeName = methodFileMoveLiquid.liquidFollowTypeName;
|
liquidFollowSpeed = methodFileMoveLiquid.liquidFollowSpeed;
|
liquidFollowDistance = methodFileMoveLiquid.liquidFollowDistance;
|
liquidFollowArea = methodFileMoveLiquid.liquidFollowArea;
|
enableMixFollow = methodFileMoveLiquid.enableMixFollow;
|
|
enableSensorBlock = methodFileMoveLiquid.enableSensorBlock;
|
aspirateBlockDisIdText = methodFileMoveLiquid.aspirateBlockDisIdText;
|
aspirateBlockDisIdValue = methodFileMoveLiquid.aspirateBlockDisIdValue;
|
dispenseBlockDisIdText = methodFileMoveLiquid.dispenseBlockDisIdText;
|
dispenseBlockDisIdValue = methodFileMoveLiquid.dispenseBlockDisIdValue;
|
aspirateAirDisIdText = methodFileMoveLiquid.aspirateAirDisIdText;
|
aspirateAirDisIdValue = methodFileMoveLiquid.aspirateAirDisIdValue;
|
}
|
this.DataContext = methodFileMoveLiquid;
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("FileMoveLiquidProperty ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 页面加载
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
{
|
mark += 1;
|
try
|
{
|
if (mark > 1)
|
{
|
return;
|
}
|
int[] ichs = channels;
|
if (!string.IsNullOrEmpty(armText))
|
{
|
tbxCommandName.Text = name;
|
cbArm.SelectedValue = armValue;
|
DeviceArm arm = cbArm.SelectedItem as DeviceArm;
|
tbxHeadType.Text = arm.head_type;
|
|
tbxbeginLine.Text = beginLine.ToString();
|
cbTipsType.SelectedValue = labwaretipValue;
|
|
cbLiquidType.SelectedValue = liquididValue;
|
cbLiquidRange.SelectedValue = liquidrangeidValue;
|
cbLiquid.SelectedValue = liquidpidValue;
|
|
dgTransferFileData.ItemsSource = transferDataTable.DefaultView;
|
tbExcelFile.Text = filePath;
|
|
//更新所有下拉列表
|
List<TransferFileHeader> transferFileHeaders = fileMoveLiquidBll.GetTransferFileHeaders(transferDataTable);
|
|
cbSourceBoard.ItemsSource = transferFileHeaders;
|
|
cbSourceWell.ItemsSource = transferFileHeaders;
|
cbAspVolume.ItemsSource= transferFileHeaders;
|
cbAspOpenLid.ItemsSource= transferFileHeaders;
|
cbAspCloseLid.ItemsSource= transferFileHeaders;
|
|
cbTargetBoard.ItemsSource = transferFileHeaders;
|
|
cbTargetWell.ItemsSource = transferFileHeaders;
|
|
cbVolumn.ItemsSource = transferFileHeaders;
|
|
cbDpsOpenLid.ItemsSource= transferFileHeaders;
|
cbDpsCloseLid.ItemsSource = transferFileHeaders;
|
cbChangeTip.ItemsSource = transferFileHeaders;
|
|
cbSourceBoard.Text = sourceLabware;
|
cbSourceWell.Text = sourceWell;
|
cbAspVolume.Text = aspVolume;
|
cbAspOpenLid.Text = aspOpenLid;
|
cbAspCloseLid.Text= aspCloseLid;
|
cbTargetBoard.Text = destinationLabware;
|
cbTargetWell.Text = destinationWell;
|
cbVolumn.Text = dpsVolume.ToString();
|
cbDpsOpenLid.Text= dpsOpenLid;
|
cbDpsCloseLid.Text = dpsCloseLid;
|
cbChangeTip.Text = tipSet;
|
|
if (changeTipsMode == 0)
|
{
|
radioBtnNotChange.IsChecked = true;
|
}
|
else if (changeTipsMode == 1)
|
{
|
radioBtnChangeByFile.IsChecked = true;
|
}
|
else if (changeTipsMode == 2)
|
{
|
radioBtnOperation.IsChecked = true;
|
}
|
|
if (jump0Volume)
|
{
|
checkboxSkip.IsChecked = true;
|
}
|
else
|
{
|
checkboxSkip.IsChecked = false;
|
}
|
|
if (baspMix)
|
{
|
checkboxMix.IsChecked = true;
|
|
tbxMixVolume.Text = aspmixvolume.ToString();
|
tbxMixCount.Text = aspmixcount.ToString();
|
|
cbMixAspiratePosition.SelectedValue = aspmixAspiratePositionValue;
|
|
tbxMixAspirateDistance.Text = aspmixAspirateDistance.ToString();
|
tbxMixAspirateSpeed.Text = aspmixAspirateSpeed.ToString();
|
|
cbMixDispensePosition.SelectedValue = aspmixDispensePositionValue;
|
tbxMixDispenseDistance.Text = aspmixDispenseDistance.ToString();
|
tbxMixDispenseSpeed.Text = aspmixDispenseSpeed.ToString();
|
}
|
else
|
{
|
checkboxMix.IsChecked = false;
|
}
|
|
if (bdpsMix)
|
{
|
checkboxDpsMix.IsChecked = true;
|
|
tbxDpsMixVolume.Text = dpsmixvolume.ToString();
|
tbxDpsMixCount.Text = dpsmixcount.ToString();
|
|
cbDpsMixAspiratePosition.SelectedValue = dpsmixAspiratePositionValue;
|
|
tbxDpsMixAspirateDistance.Text = dpsmixAspirateDistance.ToString();
|
tbxDpsMixAspirateSpeed.Text = dpsmixAspirateSpeed.ToString();
|
|
cbDpsMixDispensePosition.SelectedValue = dpsmixDispensePositionValue;
|
tbxDpsMixDispenseDistance.Text = dpsmixDispenseDistance.ToString();
|
tbxDpsMixDispenseSpeed.Text = dpsmixDispenseSpeed.ToString();
|
}
|
else
|
{
|
checkboxDpsMix.IsChecked = false;
|
}
|
|
if (enableLiquidSensor)
|
{
|
checkboxLiquidDetect.IsChecked = true;
|
gdLiquidSensor.IsEnabled = true;
|
txtNameLiquidSensorCount.Text = liquidSensorCount.ToString();
|
txtLiquidSensorDistance.Text = liquidSensorDistance.ToString();
|
txtLiquidSensorEndDistance.Text = liquidSensorEndDistance.ToString();
|
txtLiquidSensorSpeed.Text = liquidSensorSpeed.ToString();
|
txtLiquidSensorRadio.Text = liquidSensorRadio.ToString();
|
cbxLiquidSensorDisId.SelectedIndex = Convert.ToInt32(liquidSensorDisIdValue);
|
if (enableLiquidFollow)
|
{
|
checkboxLiquidFollow.IsChecked = true;
|
cbxLiquidFollowType.SelectedIndex = liquidFollowType;
|
txtLiquidFollowSpeed.Text = liquidFollowSpeed.ToString();
|
txtLiquidFollowDistance.Text = liquidFollowDistance.ToString();
|
if (liquidFollowType == 1)
|
{
|
bdrFollowOneType.Visibility = Visibility.Visible;
|
tbkFollowTwoTypeLabel.Visibility = Visibility.Collapsed;
|
txtLiquidFollowArea.Visibility = Visibility.Collapsed;
|
tbkFollowTwoTypeUnit.Visibility = Visibility.Collapsed;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowType = cbxLiquidFollowType.SelectedIndex;
|
methodFileMoveLiquid.liquidFollowTypeName = cbxLiquidFollowType.Text;
|
}
|
}
|
else if (liquidFollowType == 2)
|
{
|
bdrFollowOneType.Visibility = Visibility.Collapsed;
|
tbkFollowTwoTypeLabel.Visibility = Visibility.Visible;
|
txtLiquidFollowArea.Visibility = Visibility.Visible;
|
tbkFollowTwoTypeUnit.Visibility = Visibility.Visible;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowType = cbxLiquidFollowType.SelectedIndex;
|
methodFileMoveLiquid.liquidFollowTypeName = cbxLiquidFollowType.Text;
|
}
|
txtLiquidFollowArea.Text = liquidFollowArea.ToString();
|
}
|
|
if (enableMixFollow)
|
{
|
rdMixFollow.IsChecked = true;
|
}
|
else
|
{
|
rdMixNotFollow.IsChecked = true;
|
}
|
}
|
else
|
{
|
checkboxLiquidFollow.IsChecked = false;
|
cbxLiquidFollowType.SelectedIndex = liquidFollowType;
|
txtLiquidFollowSpeed.Text = liquidFollowSpeed.ToString();
|
txtLiquidFollowDistance.Text = liquidFollowDistance.ToString();
|
txtLiquidFollowArea.Text = liquidFollowArea.ToString();
|
//gdLiquidFollow.IsEnabled = false;
|
if (enableMixFollow)
|
{
|
rdMixFollow.IsChecked = true;
|
}
|
else
|
{
|
rdMixNotFollow.IsChecked = true;
|
}
|
}
|
}
|
else
|
{
|
checkboxLiquidDetect.IsChecked = false;
|
gdLiquidSensor.IsEnabled = false;
|
checkboxLiquidFollow.IsEnabled = false;
|
//gdLiquidFollow.IsEnabled = false;
|
cbxLiquidFollowType.SelectedIndex = liquidFollowType;
|
txtLiquidFollowSpeed.Text = liquidFollowSpeed.ToString();
|
txtLiquidFollowDistance.Text = liquidFollowDistance.ToString();
|
txtLiquidFollowArea.Text = liquidFollowArea.ToString();
|
if (enableMixFollow)
|
{
|
rdMixFollow.IsChecked = true;
|
}
|
else
|
{
|
rdMixNotFollow.IsChecked = true;
|
}
|
}
|
|
if (enableSensorBlock)
|
{
|
checkboxBlockDetect.IsChecked = true;
|
//tbxLiquidSensorBlockDistance.Text = liquidSensorBlockDistance.ToString();
|
cbxAspirateBlockDealType.SelectedIndex = Convert.ToInt32(aspirateBlockDisIdValue);
|
cbxDispenseBlockDealType.SelectedIndex = Convert.ToInt32(dispenseBlockDisIdValue);
|
}
|
else
|
{
|
checkboxBlockDetect.IsChecked = false;
|
}
|
|
cbxAspirateAirDealType.SelectedIndex = Convert.ToInt32(aspirateAirDisIdValue);
|
|
if (currmethodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid = currmethodFileMoveLiquid;
|
}
|
}
|
else
|
{
|
cbArm.SelectedIndex = curArmSelectedIndex;
|
if (cbArm.Items.Count > 1)
|
{
|
cbArm.SelectedIndex = 1;
|
}
|
|
DeviceArm arm = cbArm.SelectedItem as DeviceArm;
|
tbxHeadType.Text = arm.head_type;
|
cbLiquidType.SelectedIndex = 0;
|
|
cbMixAspiratePosition.SelectedIndex = 0;
|
cbMixDispensePosition.SelectedIndex = 0;
|
cbDpsMixAspiratePosition.SelectedIndex = 0;
|
cbDpsMixDispensePosition.SelectedIndex = 0;
|
methodFileMoveLiquid.jump0Volume = true;
|
if (currmethodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid = currmethodFileMoveLiquid;
|
}
|
|
cbxLiquidSensorDisId.SelectedIndex = 0;
|
cbxAspirateBlockDealType.SelectedIndex = 0;
|
cbxDispenseBlockDealType.SelectedIndex = 0;
|
cbxAspirateAirDealType.SelectedIndex = 0;
|
}
|
|
//ReceiveAndUpdate();
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("UserControl_Loaded ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 命令名称更改
|
private void tbxCommandName_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (string.IsNullOrEmpty(tbxCommandName.Text))
|
{
|
cnError.Text = "命令名称不能为空";
|
return;
|
}
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.name = tbxCommandName.Text;
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxCommandName_TextChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 选取文件
|
private void tbExcelFile_PreviewKeyDown(object sender, KeyEventArgs e)
|
{
|
try
|
{
|
if (e.Key == Key.Enter)
|
{
|
if (!string.IsNullOrEmpty(tbExcelFile.Text.Trim()))
|
{
|
if (System.IO.Path.HasExtension(tbExcelFile.Text.Trim()))
|
{
|
if (System.IO.File.Exists(tbExcelFile.Text.Trim()))
|
{
|
SelectFile(tbExcelFile.Text.Trim());
|
}
|
}
|
}
|
}
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbExcelFile_PreviewKeyDown ERROR", ex);
|
}
|
}
|
|
private void btnSelectFile_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
OpenFileDialog dlg = new OpenFileDialog();
|
dlg.Title = "请选择Excel文件";
|
dlg.FileName = string.Empty;
|
dlg.FilterIndex = 1;
|
dlg.Filter = "excel files(*.xls)|*.xls|csv files(*.csv)|*.csv|All files(*.*)|*.*";
|
dlg.Multiselect = false;
|
if (!string.IsNullOrEmpty(tbExcelFile.Text.Trim()))
|
{
|
|
if (System.IO.Path.HasExtension(tbExcelFile.Text.Trim()))
|
dlg.InitialDirectory = System.IO.Path.GetDirectoryName(tbExcelFile.Text.Trim());
|
else
|
dlg.InitialDirectory = tbExcelFile.Text.Trim();
|
|
}
|
if (dlg.ShowDialog() == true)
|
{
|
string fullPath = dlg.FileName;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.filePath = fullPath;
|
}
|
tbExcelFile.Text = fullPath;
|
|
SelectFile(fullPath);
|
}
|
|
((MainWindow)Application.Current.MainWindow).testDesign.IsIgnore = true; //防止影响到主界面流程中已拖放的单命令顺序
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("btnSelectFile_Click ERROR", ex);
|
}
|
}
|
|
private void SelectFile(string file)
|
{
|
try
|
{
|
string ext = System.IO.Path.GetExtension(file);
|
DataTable transferData = null;
|
if (string.Compare(ext, ".csv", true) == 0)
|
transferData = ExcelAndCsvHelper.GetDataTableFromCsvFile(file);
|
else
|
transferData = ExcelAndCsvHelper.GetDataTableFromExcelFile(file, true);
|
|
if (transferData != null)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.transferDataTable = transferData;
|
}
|
dgTransferFileData.ItemsSource = transferData.DefaultView;
|
|
List<TransferFileHeader> transferFileHeaders = fileMoveLiquidBll.GetTransferFileHeaders(transferData);
|
|
cbSourceBoard.ItemsSource = transferFileHeaders;
|
cbSourceWell.ItemsSource = transferFileHeaders;
|
cbAspVolume.ItemsSource = transferFileHeaders;
|
cbAspOpenLid.ItemsSource = transferFileHeaders;
|
cbAspCloseLid.ItemsSource = transferFileHeaders;
|
cbTargetBoard.ItemsSource = transferFileHeaders;
|
cbTargetWell.ItemsSource = transferFileHeaders;
|
cbVolumn.ItemsSource = transferFileHeaders;
|
cbDpsOpenLid.ItemsSource = transferFileHeaders;
|
cbDpsCloseLid.ItemsSource = transferFileHeaders;
|
cbChangeTip.ItemsSource = transferFileHeaders;
|
|
cbSourceBoard.SelectedIndex = 1;
|
cbSourceWell.SelectedIndex = 2;
|
cbAspVolume.SelectedIndex = 3;
|
cbAspOpenLid.SelectedIndex = 4;
|
cbAspCloseLid.SelectedIndex = 5;
|
cbTargetBoard.SelectedIndex = 6;
|
cbTargetWell.SelectedIndex = 7;
|
cbVolumn.SelectedIndex = 8;
|
cbDpsOpenLid.SelectedIndex = 9;
|
cbDpsCloseLid.SelectedIndex = 10;
|
cbChangeTip.SelectedIndex = 11;
|
}
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("SelectFile ERROR", ex);
|
}
|
}
|
#endregion
|
|
#region 开始行号
|
private void tbxbeginLine_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
|
}
|
#endregion
|
|
#region 来源板
|
private void cbSourceBoard_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbSourceBoard.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbSourceBoard.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.sourceLabware = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbSourceBoard_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 来源孔
|
private void cbSourceWell_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbSourceWell.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbSourceWell.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.sourceWell = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbSourceWell_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 来源体积
|
private void cbAspVolume_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbAspVolume.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbAspVolume.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspVolume = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbAspVolume_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 来源吸液前开盖
|
private void cbAspOpenLid_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbAspOpenLid.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbAspOpenLid.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspOpenLid = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbAspOpenLid_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 来源吸液体后关盖
|
private void cbAspCloseLid_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbAspCloseLid.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbAspCloseLid.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspCloseLid = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbAspCloseLid_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 目标板
|
private void cbTargetBoard_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbTargetBoard.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbTargetBoard.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.destinationLabware = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbTargetBoard_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 目标孔
|
private void cbTargetWell_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbTargetWell.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbTargetWell.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.destinationWell = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbTargetWell_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 目标孔体积
|
private void cbVolumn_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbVolumn.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbVolumn.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsVolume = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbVolumn_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 目标孔排液前开盖
|
private void cbDpsOpenLid_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbDpsOpenLid.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbDpsOpenLid.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsOpenLid = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbDpsOpenLid_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 目标孔排液后关盖
|
private void cbDpsCloseLid_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbDpsCloseLid.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbDpsCloseLid.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsCloseLid = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbDpsCloseLid_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 更换枪头
|
private void cbChangeTip_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbChangeTip.SelectedIndex == -1)
|
return;
|
TransferFileHeader transferFileHeader = cbChangeTip.SelectedItem as TransferFileHeader;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.tipSet = transferFileHeader.header_name.ToString();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbChangeTip_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 跳过0体积选项
|
private void checkboxSkip_Checked(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid == null)
|
return;
|
methodFileMoveLiquid.jump0Volume = true;
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxSkip_Checked ERROR:", ex);
|
}
|
}
|
|
private void checkboxSkip_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if (checkboxSkip.IsChecked == true)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.jump0Volume = true;
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.jump0Volume = false;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxSkip_Click ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 下一项
|
private void btnNext_Click(object sender, RoutedEventArgs e)
|
{
|
stepBar.Next();
|
gridSelectFile.Visibility = Visibility.Collapsed;
|
gridTipSetting.Visibility = Visibility.Visible;
|
gridLiquidParam.Visibility = Visibility.Collapsed;
|
scrollViewer.ScrollToTop();
|
}
|
#endregion
|
|
#region 再下一项
|
private void btnNext1_Click(object sender, RoutedEventArgs e)
|
{
|
stepBar.Next();
|
gridSelectFile.Visibility = Visibility.Collapsed;
|
gridTipSetting.Visibility = Visibility.Collapsed;
|
gridLiquidParam.Visibility = Visibility.Visible;
|
scrollViewer.ScrollToTop();
|
}
|
#endregion
|
|
#region 上一项
|
private void btnPrev_Click(object sender, RoutedEventArgs e)
|
{
|
stepBar.Prev();
|
gridSelectFile.Visibility = Visibility.Visible;
|
gridTipSetting.Visibility = Visibility.Collapsed;
|
gridLiquidParam.Visibility = Visibility.Collapsed;
|
scrollViewer.ScrollToTop();
|
}
|
#endregion
|
|
#region 再上一项
|
private void btnPrev1_Click(object sender, RoutedEventArgs e)
|
{
|
if (stepBar.StepIndex > stepBar.Items.Count)
|
{
|
stepBar.Prev();
|
stepBar.Prev();
|
}
|
else
|
stepBar.Prev();
|
gridSelectFile.Visibility = Visibility.Collapsed;
|
gridTipSetting.Visibility = Visibility.Visible;
|
gridLiquidParam.Visibility = Visibility.Collapsed;
|
scrollViewer.ScrollToTop();
|
}
|
#endregion
|
|
#region 最后完成
|
private void btnFinish_Click(object sender, RoutedEventArgs e)
|
{
|
stepBar.Next();
|
scrollViewer.ScrollToTop();
|
}
|
#endregion
|
|
#region 选择移液臂
|
private void cbArm_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbArm.SelectedIndex < 0)
|
{
|
return;
|
}
|
curArmSelectedIndex = cbArm.SelectedIndex;
|
string armName = ((DeviceArm)cbArm.SelectedItem).device_arm_name.ToString();
|
methodFileMoveLiquid.channels = Shared.ChannelsId;
|
DeviceArm arm = cbArm.SelectedItem as DeviceArm;
|
methodFileMoveLiquid.armText = arm.device_arm_name;
|
methodFileMoveLiquid.armValue = arm.device_arm_id.ToString();
|
methodFileMoveLiquid.headType = arm.head_type;
|
tbxHeadType.Text = arm.head_type.ToString();
|
if (arm.arm_type.Equals(0))
|
{
|
gridTipSetting.RowDefinitions[1].Height = new GridLength(0);
|
gridTipSetting.RowDefinitions[2].Height = new GridLength(0);
|
return;
|
}
|
else
|
{
|
gridTipSetting.RowDefinitions[1].Height = new GridLength(40);
|
gridTipSetting.RowDefinitions[2].Height = new GridLength(80);
|
}
|
|
if (cbArm.SelectedIndex == 2)
|
{
|
tipsChannel.Visibility = Visibility.Collapsed;
|
}
|
else
|
{
|
if (cbArm.SelectedIndex == 3)
|
{
|
tipsChannel.SelectedChannels = (new int[4]{ 1,2,3,4}).ToList();
|
tipsChannel.SetTotalChannelCount(4);
|
if (channels != null)
|
{
|
tipsChannel.SelectedChannels = channels.ToList();
|
tipsChannel.SetSelectedChannels();
|
}
|
tipsChannel_SelectedChangedEvent(null, null);
|
tipsChannel.Visibility = Visibility.Visible;
|
tipsChannel.CanEdit = true;
|
//更新液体参数
|
cbLiquidRange.SelectedIndex = 0;
|
}
|
else
|
{
|
tipsChannel.SelectedChannels = Shared.ChannelsId.ToList();
|
tipsChannel.SetTotalChannelCount(Shared.ChannelCount);
|
tipsChannel.SetSelectedChannels();
|
tipsChannel_SelectedChangedEvent(null, null);
|
tipsChannel.Visibility = Visibility.Visible;
|
tipsChannel.CanEdit = false;
|
}
|
}
|
//ReceiveAndUpdate();
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbArm_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 移液通道变更
|
private void tipsChannel_SelectedChangedEvent(object sender, EventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
channels= tipsChannel.SelectedChannels.ToArray();
|
methodFileMoveLiquid.channels = tipsChannel.SelectedChannels.ToArray();
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tipsChannel_SelectedChangedEvent ERROR:", ex);
|
}
|
|
}
|
#endregion
|
|
#region 枪头耗材选定
|
private void cbTipsType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid == null) return;
|
if (cbTipsType.SelectedIndex < 0) return;
|
//if (isConsumableUpdate)
|
//{
|
// isConsumableUpdate = false;
|
// return;
|
//}
|
Labware labware = cbTipsType.SelectedItem as Labware;
|
methodFileMoveLiquid.labwaretipText = labware.labware_name;
|
methodFileMoveLiquid.labwaretipValue = labware.labware_id.ToString();
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbTipsType_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 不更换枪头设定
|
private void radioBtnNotChange_Checked(object sender, RoutedEventArgs e)
|
{
|
if (radioBtnNotChange.IsChecked == true)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.changeTipsMode = 0;
|
}
|
}
|
}
|
#endregion
|
|
#region 由文件字段设定更换枪头
|
private void radioBtnChangeByFile_Checked(object sender, RoutedEventArgs e)
|
{
|
if (radioBtnChangeByFile.IsChecked == true)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.changeTipsMode = 1;
|
}
|
}
|
}
|
#endregion
|
|
#region 排液后更换枪头
|
private void radioBtnOperation_Checked(object sender, RoutedEventArgs e)
|
{
|
if (radioBtnOperation.IsChecked == true)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.changeTipsMode = 2;
|
}
|
}
|
}
|
#endregion
|
|
#region 开启液面探测控制
|
private void checkboxLiquidDetect_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if ((bool)checkboxLiquidDetect.IsChecked)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableLiquidSensor = true;
|
methodFileMoveLiquid.liquidSensorCount = Convert.ToInt32(txtNameLiquidSensorCount.Text);
|
methodFileMoveLiquid.liquidSensorDistance = Convert.ToDouble(txtLiquidSensorDistance.Text);
|
methodFileMoveLiquid.liquidSensorEndDistance = Convert.ToDouble(txtLiquidSensorEndDistance.Text);
|
methodFileMoveLiquid.liquidSensorSpeed = Convert.ToDouble(txtLiquidSensorSpeed.Text);
|
methodFileMoveLiquid.liquidSensorRadio = Convert.ToDouble(txtLiquidSensorRadio.Text);
|
methodFileMoveLiquid.liquidSensorDisIdText = cbxLiquidSensorDisId.Text;
|
methodFileMoveLiquid.liquidSensorDisIdValue = Convert.ToDouble(cbxLiquidSensorDisId.SelectedValue);
|
gdLiquidSensor.IsEnabled = true;
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableLiquidSensor = false;
|
methodFileMoveLiquid.liquidSensorCount = Convert.ToInt32(txtNameLiquidSensorCount.Text);
|
methodFileMoveLiquid.liquidSensorDistance = Convert.ToDouble(txtLiquidSensorDistance.Text);
|
methodFileMoveLiquid.liquidSensorEndDistance = Convert.ToDouble(txtLiquidSensorEndDistance.Text);
|
methodFileMoveLiquid.liquidSensorSpeed = Convert.ToDouble(txtLiquidSensorSpeed.Text);
|
methodFileMoveLiquid.liquidSensorRadio = Convert.ToDouble(txtLiquidSensorRadio.Text);
|
methodFileMoveLiquid.liquidSensorDisIdText = cbxLiquidSensorDisId.Text;
|
methodFileMoveLiquid.liquidSensorDisIdValue = Convert.ToDouble(cbxLiquidSensorDisId.SelectedValue);
|
methodFileMoveLiquid.enableLiquidFollow = false;
|
gdLiquidSensor.IsEnabled = false;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxLiquidDetect_Click ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 液面探测的的次数
|
private void txtNameLiquidSensorCount_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
string message = "";
|
if (!Consumables.ConsumablesValidationRule.IsNullOrEmpty(txtNameLiquidSensorCount.Text, out message) || !Consumables.ConsumablesValidationRule.IsIntegerr(txtNameLiquidSensorCount.Text, out message))
|
{
|
lscError.Text = message;
|
return;
|
}
|
else
|
{
|
lscError.Text = "";
|
}
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidSensorCount = Convert.ToInt32(txtNameLiquidSensorCount.Text);
|
}
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtNameLiquidSensorCount_TextChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 液面探测的开始孔口的距离
|
private void txtLiquidSensorDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
string message = "";
|
if (!Consumables.ConsumablesValidationRule.IsNullOrEmpty(txtLiquidSensorDistance.Text, out message) || !Consumables.ConsumablesValidationRule.IsPositiveNumber(txtLiquidSensorDistance.Text, out message))
|
{
|
lsdError.Text = message;
|
}
|
else
|
{
|
lsdError.Text = "";
|
}
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidSensorDistance = Convert.ToDouble(txtLiquidSensorDistance.Text);
|
}
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidSensorDistance_TextChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 液面探测的结束孔口的距离
|
private void txtLiquidSensorEndDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidSensorEndDistance = Convert.ToDouble(txtLiquidSensorEndDistance.Text);
|
|
if (string.IsNullOrEmpty(txtLiquidSensorEndDistance.Text))
|
{
|
txtLiquidSensorEndDistance.BorderBrush = Brushes.Red;
|
txtLiquidSensorEndDistance.BorderThickness = new Thickness(1);
|
tbkErrorLiquidSensorEndDistance.Text = "[0,50]";
|
tbkErrorLiquidSensorEndDistance.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorEndDistance.Visibility = Visibility.Visible;
|
return;
|
}
|
else if (Convert.ToDouble(txtLiquidSensorEndDistance.Text) < 0 || Convert.ToDouble(txtLiquidSensorEndDistance.Text) > 50)
|
{
|
txtLiquidSensorEndDistance.BorderBrush = Brushes.Red;
|
txtLiquidSensorEndDistance.BorderThickness = new Thickness(1);
|
tbkErrorLiquidSensorEndDistance.Text = "[0,50]";
|
tbkErrorLiquidSensorEndDistance.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorEndDistance.Visibility = Visibility.Visible;
|
return;
|
}
|
else
|
{
|
txtLiquidSensorEndDistance.BorderBrush = Brushes.Transparent;
|
txtLiquidSensorEndDistance.BorderThickness = new Thickness(0);
|
tbkErrorLiquidSensorEndDistance.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorEndDistance.Visibility = Visibility.Hidden;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidSensorEndDistance_TextChanged ERROR:", ex);
|
txtLiquidSensorEndDistance.BorderBrush = Brushes.Red;
|
txtLiquidSensorEndDistance.BorderThickness = new Thickness(1);
|
return;
|
}
|
}
|
#endregion
|
|
#region 液面探测的速度
|
private void txtLiquidSensorSpeed_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidSensorSpeed = Convert.ToDouble(txtLiquidSensorSpeed.Text);
|
validationMixDispenseSpeed(txtLiquidSensorSpeed, tbkErrorLiquidSensorSpeed);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidSensorSpeed_TextChanged ERROR:", ex);
|
txtLiquidSensorSpeed.BorderBrush = Brushes.Red;
|
tbkErrorLiquidSensorSpeed.Text = "[1,100]";
|
tbkErrorLiquidSensorSpeed.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorSpeed.Visibility = Visibility.Visible;
|
return;
|
}
|
}
|
#endregion
|
|
#region 速度数据验证
|
public void validationMixDispenseSpeed(TextBox textBoxObj, TextBlock textBlockObj)
|
{
|
string volumeString = textBoxObj.Text;
|
Regex rg = new Regex(@"^[1-9]\\d*.\\d*|0\\.\\d*[1-9]\\d*$");
|
if (string.IsNullOrEmpty(volumeString))
|
{
|
textBoxObj.BorderBrush = Brushes.Red;
|
textBlockObj.Text = "[1,100]";
|
textBlockObj.Foreground = Brushes.Red;
|
textBlockObj.Visibility = Visibility.Visible;
|
return;
|
}
|
else if (rg.IsMatch(volumeString))
|
{
|
textBoxObj.BorderBrush = Brushes.Red;
|
textBlockObj.Text = "[1,100]";
|
textBlockObj.Foreground = Brushes.Red;
|
textBlockObj.Visibility = Visibility.Visible;
|
return;
|
}
|
else if (Convert.ToDouble(volumeString) < 0 || Convert.ToDouble(volumeString) > 100)
|
{
|
textBoxObj.BorderBrush = Brushes.Red;
|
textBlockObj.Text = "[1,100]";
|
textBlockObj.Foreground = Brushes.Red;
|
textBlockObj.Visibility = Visibility.Visible;
|
return;
|
}
|
else
|
{
|
textBoxObj.BorderBrush = Brushes.Transparent;
|
textBlockObj.Foreground = Brushes.Transparent;
|
textBlockObj.Visibility = Visibility.Hidden;
|
}
|
}
|
#endregion
|
|
#region 探测系数
|
private void txtLiquidSensorRadio_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidSensorRadio = Convert.ToDouble(txtLiquidSensorRadio.Text);
|
if (string.IsNullOrEmpty(txtLiquidSensorRadio.Text))
|
{
|
txtLiquidSensorRadio.BorderBrush = Brushes.Red;
|
txtLiquidSensorRadio.BorderThickness = new Thickness(1);
|
tbkErrorLiquidSensorRadio.Text = "[0,100]";
|
tbkErrorLiquidSensorRadio.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorRadio.Visibility = Visibility.Visible;
|
return;
|
}
|
else if (Convert.ToDouble(txtLiquidSensorRadio.Text) < 0 || Convert.ToDouble(txtLiquidSensorRadio.Text) > 100)
|
{
|
txtLiquidSensorRadio.BorderBrush = Brushes.Red;
|
txtLiquidSensorRadio.BorderThickness = new Thickness(1);
|
tbkErrorLiquidSensorRadio.Text = "[0,100]";
|
tbkErrorLiquidSensorRadio.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorRadio.Visibility = Visibility.Visible;
|
return;
|
}
|
else
|
{
|
txtLiquidSensorRadio.BorderBrush = Brushes.Transparent;
|
txtLiquidSensorRadio.BorderThickness = new Thickness(0);
|
tbkErrorLiquidSensorRadio.Foreground = Brushes.Red;
|
tbkErrorLiquidSensorRadio.Visibility = Visibility.Hidden;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidSensorRadio_TextChanged ERROR:", ex);
|
txtLiquidSensorRadio.BorderBrush = Brushes.Red;
|
txtLiquidSensorRadio.BorderThickness = new Thickness(1);
|
return;
|
}
|
}
|
#endregion
|
|
#region 未探测到时处理项选定
|
private void cbxLiquidSensorDisId_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidSensorDisIdText = ((string)cbxLiquidSensorDisId.SelectedItem).ToString();
|
methodFileMoveLiquid.liquidSensorDisIdValue = Convert.ToDouble(cbxLiquidSensorDisId.SelectedIndex);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbxLiquidSensorDisId_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 吸液前混合
|
private void checkboxMix_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if ((bool)checkboxMix.IsChecked)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.baspMix = true;
|
methodFileMoveLiquid.aspmixcount = Convert.ToInt32(tbxMixCount.Text);
|
methodFileMoveLiquid.aspmixvolume = Convert.ToDouble(tbxMixVolume.Text);
|
methodFileMoveLiquid.aspmixAspiratePositionText = cbMixAspiratePosition.Text;
|
methodFileMoveLiquid.aspmixAspiratePositionValue = Convert.ToInt32(cbMixAspiratePosition.SelectedValue);
|
methodFileMoveLiquid.aspmixAspirateDistance = Convert.ToDouble(tbxMixAspirateDistance.Text);
|
methodFileMoveLiquid.aspmixAspirateSpeed = Convert.ToDouble(tbxMixAspirateSpeed.Text);
|
|
methodFileMoveLiquid.aspmixDispensePositionText = cbMixDispensePosition.Text;
|
methodFileMoveLiquid.aspmixDispensePositionValue = Convert.ToInt32(cbMixDispensePosition.SelectedValue);
|
methodFileMoveLiquid.aspmixDispenseDistance = Convert.ToDouble(tbxMixDispenseDistance.Text);
|
methodFileMoveLiquid.aspmixDispenseSpeed = Convert.ToDouble(tbxMixDispenseSpeed.Text);
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.baspMix = false;
|
methodFileMoveLiquid.aspmixcount = Convert.ToInt32(tbxMixCount.Text);
|
methodFileMoveLiquid.aspmixvolume = Convert.ToDouble(tbxMixVolume.Text);
|
methodFileMoveLiquid.aspmixAspiratePositionText = cbMixAspiratePosition.Text;
|
methodFileMoveLiquid.aspmixAspiratePositionValue = Convert.ToInt32(cbMixAspiratePosition.SelectedValue);
|
methodFileMoveLiquid.aspmixAspirateDistance = Convert.ToDouble(tbxMixAspirateDistance.Text);
|
methodFileMoveLiquid.aspmixAspirateSpeed = Convert.ToDouble(tbxMixAspirateSpeed.Text);
|
|
methodFileMoveLiquid.aspmixDispensePositionText = cbMixDispensePosition.Text;
|
methodFileMoveLiquid.aspmixDispensePositionValue = Convert.ToInt32(cbMixDispensePosition.SelectedValue);
|
methodFileMoveLiquid.aspmixDispenseDistance = Convert.ToDouble(tbxMixDispenseDistance.Text);
|
methodFileMoveLiquid.aspmixDispenseSpeed = Convert.ToDouble(tbxMixDispenseSpeed.Text);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxMix_Click ERROR:", ex);
|
}
|
}
|
private void tbxMixDispenseDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixDispenseDistance = Convert.ToDouble(tbxMixDispenseDistance.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxMixDispenseDistance_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void cbMixDispensePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixDispensePositionValue = Convert.ToInt32(cbMixDispensePosition.SelectedValue);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbMixDispensePosition_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxMixAspirateSpeed_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixAspirateSpeed = Convert.ToDouble(tbxMixAspirateSpeed.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxMixAspirateSpeed_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxMixAspirateDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixAspirateDistance = Convert.ToDouble(tbxMixAspirateDistance.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxMixAspirateDistance_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void cbMixAspiratePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixAspiratePositionValue = Convert.ToInt32(cbMixAspiratePosition.SelectedValue);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbMixAspiratePosition_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxMixCount_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixcount = Convert.ToInt32(tbxMixCount.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxMixCount_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxMixVolume_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixvolume = Convert.ToDouble(tbxMixVolume.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxMixVolume_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxMixDispenseSpeed_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspmixDispenseSpeed = Convert.ToDouble(tbxMixDispenseSpeed.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxMixDispenseSpeed_TextChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 排液后混合
|
private void checkboxDpsMix_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if ((bool)checkboxDpsMix.IsChecked)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.bdpsMix = true;
|
methodFileMoveLiquid.dpsmixcount = Convert.ToInt32(tbxDpsMixCount.Text);
|
methodFileMoveLiquid.dpsmixvolume = Convert.ToDouble(tbxDpsMixVolume.Text);
|
methodFileMoveLiquid.dpsmixAspiratePositionText = cbDpsMixAspiratePosition.Text;
|
methodFileMoveLiquid.dpsmixAspiratePositionValue = Convert.ToInt32(cbDpsMixAspiratePosition.SelectedValue);
|
methodFileMoveLiquid.dpsmixAspirateDistance = Convert.ToDouble(tbxDpsMixAspirateDistance.Text);
|
methodFileMoveLiquid.dpsmixAspirateSpeed = Convert.ToDouble(tbxDpsMixAspirateSpeed.Text);
|
|
methodFileMoveLiquid.dpsmixDispensePositionText = cbDpsMixDispensePosition.Text;
|
methodFileMoveLiquid.dpsmixDispensePositionValue = Convert.ToInt32(cbDpsMixDispensePosition.SelectedValue);
|
methodFileMoveLiquid.dpsmixDispenseDistance = Convert.ToDouble(tbxDpsMixDispenseDistance.Text);
|
methodFileMoveLiquid.dpsmixDispenseSpeed = Convert.ToDouble(tbxDpsMixDispenseSpeed.Text);
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.bdpsMix = false;
|
methodFileMoveLiquid.dpsmixcount = Convert.ToInt32(tbxDpsMixCount.Text);
|
methodFileMoveLiquid.dpsmixvolume = Convert.ToDouble(tbxDpsMixVolume.Text);
|
methodFileMoveLiquid.dpsmixAspiratePositionText = cbDpsMixAspiratePosition.Text;
|
methodFileMoveLiquid.dpsmixAspiratePositionValue = Convert.ToInt32(cbDpsMixAspiratePosition.SelectedValue);
|
methodFileMoveLiquid.dpsmixAspirateDistance = Convert.ToDouble(tbxDpsMixAspirateDistance.Text);
|
methodFileMoveLiquid.dpsmixAspirateSpeed = Convert.ToDouble(tbxDpsMixAspirateSpeed.Text);
|
|
methodFileMoveLiquid.dpsmixDispensePositionText = cbDpsMixDispensePosition.Text;
|
methodFileMoveLiquid.dpsmixDispensePositionValue = Convert.ToInt32(cbDpsMixDispensePosition.SelectedValue);
|
methodFileMoveLiquid.dpsmixDispenseDistance = Convert.ToDouble(tbxDpsMixDispenseDistance.Text);
|
methodFileMoveLiquid.dpsmixDispenseSpeed = Convert.ToDouble(tbxDpsMixDispenseSpeed.Text);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxDpsMix_Click ERROR:", ex);
|
}
|
}
|
|
private void tbxDpsMixVolume_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixvolume = Convert.ToDouble(tbxDpsMixVolume.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxDpsMixVolume_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxDpsMixCount_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixcount = Convert.ToInt32(tbxDpsMixCount.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxDpsMixCount_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void cbDpsMixAspiratePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixAspiratePositionValue = Convert.ToInt32(cbDpsMixAspiratePosition.SelectedValue);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbDpsMixAspiratePosition_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxDpsMixAspirateDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixAspirateDistance = Convert.ToDouble(tbxDpsMixAspirateDistance.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxDpsMixAspirateDistance_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxDpsMixAspirateSpeed_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixAspirateSpeed = Convert.ToDouble(tbxDpsMixAspirateSpeed.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxDpsMixAspirateSpeed_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void cbDpsMixDispensePosition_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixDispensePositionValue = Convert.ToInt32(cbDpsMixDispensePosition.SelectedValue);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbDpsMixDispensePosition_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxDpsMixDispenseDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixDispenseDistance = Convert.ToDouble(tbxDpsMixDispenseDistance.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxDpsMixDispenseDistance_TextChanged ERROR:", ex);
|
}
|
}
|
|
private void tbxDpsMixDispenseSpeed_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dpsmixDispenseSpeed = Convert.ToDouble(tbxDpsMixDispenseSpeed.Text);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxDpsMixDispenseSpeed_TextChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
#region 液体参数
|
private void cbLiquid_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
if (cbLiquid.SelectedIndex <= 0)
|
return;
|
Liquid l = cbLiquid.SelectedItem as Liquid;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidpidText = l.liquid_name;
|
methodFileMoveLiquid.liquidpidValue = l.liquid_id;
|
}
|
}
|
|
private void cbLiquidRange_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbLiquidRange.SelectedIndex < 0)
|
return;
|
if (cbLiquidRange.SelectedIndex == 0)
|
{
|
ObservableCollection<Liquid> liquids = new ObservableCollection<Liquid>();
|
Liquid liquid = new Liquid();
|
liquid.liquid_name = Properties.Resources.strPleaseSelect;
|
liquids.Insert(0, liquid);
|
cbLiquid.ItemsSource = liquids;
|
cbLiquid.SelectedIndex = 0;
|
return;
|
}
|
if (cbLiquidType.SelectedIndex <= 0)
|
return;
|
string typeID = cbLiquidType.SelectedValue as string;
|
string rangeID = cbLiquidRange.SelectedValue as string;
|
string armID = cbArm.SelectedValue.ToString();
|
ObservableCollection<Liquid> liquidList = LiquidTypeRSRangeDB.GetLiquidFromdbByTypeAndRange(typeID, rangeID, armID);
|
Liquid l = new Liquid();
|
l.liquid_name = Properties.Resources.strPleaseSelect;
|
liquidList.Insert(0, l);
|
if (cbLiquidRange.SelectedIndex != 0)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidrangeidText = ((LiquidRange)cbLiquidRange.SelectedItem).liquid_range_name.ToString();
|
methodFileMoveLiquid.liquidrangeidValue = ((LiquidRange)cbLiquidRange.SelectedItem).liquid_range_id.ToString();
|
}
|
}
|
cbLiquid.ItemsSource = liquidList;
|
cbLiquid.SelectedIndex = 0;
|
}
|
catch(Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbLiquidRange_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void cbLiquidType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbLiquidType.SelectedIndex < 0)
|
return;
|
if (cbLiquidType.SelectedIndex == 0)
|
{
|
ObservableCollection<Liquid> liquids = new ObservableCollection<Liquid>();
|
Liquid liquid = new Liquid();
|
liquid.liquid_name = Properties.Resources.strPleaseSelect;
|
liquids.Insert(0, liquid);
|
cbLiquid.ItemsSource = liquids;
|
cbLiquid.SelectedIndex = 0;
|
return;
|
}
|
|
if (cbLiquidType.SelectedIndex != 0)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquididText = ((LiquidType)cbLiquidType.SelectedItem).liquid_type_name.ToString();
|
methodFileMoveLiquid.liquididValue = ((LiquidType)cbLiquidType.SelectedItem).liquid_type_id.ToString();
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbLiquidType_SelectionChanged ERROR:", ex);
|
}
|
}
|
#endregion
|
|
|
|
private void cbxAspirateAirDealType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspirateAirDisIdText = ((string)cbxAspirateAirDealType.SelectedItem).ToString();
|
methodFileMoveLiquid.aspirateAirDisIdValue = cbxAspirateAirDealType.SelectedIndex;
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbLiquidType_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void cbxDispenseBlockDealType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.dispenseBlockDisIdText = ((string)cbxDispenseBlockDealType.SelectedItem).ToString();
|
methodFileMoveLiquid.dispenseBlockDisIdValue = cbxDispenseBlockDealType.SelectedIndex;
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbxDispenseBlockDealType_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void cbxAspirateBlockDealType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.aspirateBlockDisIdText = ((string)cbxAspirateBlockDealType.SelectedItem).ToString();
|
methodFileMoveLiquid.aspirateBlockDisIdValue = cbxAspirateBlockDealType.SelectedIndex;
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbxAspirateBlockDealType_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void checkboxBlockDetect_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if ((bool)checkboxBlockDetect.IsChecked)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableSensorBlock = true;
|
methodFileMoveLiquid.aspirateBlockDisIdText = cbxAspirateBlockDealType.Text;
|
methodFileMoveLiquid.aspirateBlockDisIdValue = Convert.ToInt32(cbxAspirateBlockDealType.SelectedValue);
|
methodFileMoveLiquid.dispenseBlockDisIdText = cbxDispenseBlockDealType.Text;
|
methodFileMoveLiquid.dispenseBlockDisIdValue = Convert.ToInt32(cbxDispenseBlockDealType.SelectedValue);
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableSensorBlock = false;
|
methodFileMoveLiquid.aspirateBlockDisIdText = cbxAspirateBlockDealType.Text;
|
methodFileMoveLiquid.aspirateBlockDisIdValue = Convert.ToInt32(cbxAspirateBlockDealType.SelectedValue);
|
methodFileMoveLiquid.dispenseBlockDisIdText = cbxDispenseBlockDealType.Text;
|
methodFileMoveLiquid.dispenseBlockDisIdValue = Convert.ToInt32(cbxDispenseBlockDealType.SelectedValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxBlockDetect_Click ERROR:", ex);
|
}
|
}
|
|
private void rdMixNotFollow_Checked(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
|
if (rdMixNotFollow.IsChecked == true)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableMixFollow = false;
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableMixFollow = true;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("rdMixNotFollow_Checked ERROR:", ex);
|
return;
|
}
|
}
|
|
private void rdMixFollow_Checked(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
|
if (rdMixFollow.IsChecked == true)
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableMixFollow = true;
|
}
|
}
|
else
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableMixFollow = false;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("rdMixFollow_Checked ERROR:", ex);
|
return;
|
}
|
}
|
|
private void txtLiquidFollowArea_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowArea = Convert.ToDouble(txtLiquidFollowArea.Text);
|
|
if (string.IsNullOrEmpty(txtLiquidFollowArea.Text))
|
{
|
txtLiquidFollowArea.BorderBrush = Brushes.Red;
|
txtLiquidFollowArea.BorderThickness = new Thickness(1);
|
tbkErrorLiquidFollowArea.Text = "[0,30000]";
|
tbkErrorLiquidFollowArea.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowArea.Visibility = Visibility.Visible;
|
return;
|
}
|
else if (Convert.ToDouble(txtLiquidFollowArea.Text) < 0 || Convert.ToDouble(txtLiquidFollowArea.Text) > 30000)
|
{
|
txtLiquidFollowArea.BorderBrush = Brushes.Red;
|
txtLiquidFollowArea.BorderThickness = new Thickness(1);
|
tbkErrorLiquidFollowArea.Text = "[0,30000]";
|
tbkErrorLiquidFollowArea.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowArea.Visibility = Visibility.Visible;
|
return;
|
}
|
else
|
{
|
txtLiquidFollowArea.BorderBrush = Brushes.Transparent;
|
txtLiquidFollowArea.BorderThickness = new Thickness(0);
|
tbkErrorLiquidFollowArea.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowArea.Visibility = Visibility.Hidden;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidFollowArea_TextChanged ERROR:", ex);
|
txtLiquidSensorRadio.BorderBrush = Brushes.Red;
|
txtLiquidSensorRadio.BorderThickness = new Thickness(1);
|
return;
|
}
|
}
|
|
private void txtLiquidFollowDistance_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowDistance = Convert.ToDouble(txtLiquidFollowDistance.Text);
|
|
if (string.IsNullOrEmpty(txtLiquidFollowDistance.Text))
|
{
|
txtLiquidFollowDistance.BorderBrush = Brushes.Red;
|
txtLiquidFollowDistance.BorderThickness = new Thickness(1);
|
tbkErrorLiquidFollowDistance.Text = "[0,50]";
|
tbkErrorLiquidFollowDistance.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowDistance.Visibility = Visibility.Visible;
|
return;
|
}
|
else if (Convert.ToDouble(txtLiquidFollowDistance.Text) < 0 || Convert.ToDouble(txtLiquidFollowDistance.Text) > 50)
|
{
|
txtLiquidFollowDistance.BorderBrush = Brushes.Red;
|
txtLiquidFollowDistance.BorderThickness = new Thickness(1);
|
tbkErrorLiquidFollowDistance.Text = "[0,50]";
|
tbkErrorLiquidFollowDistance.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowDistance.Visibility = Visibility.Visible;
|
return;
|
}
|
else
|
{
|
txtLiquidFollowDistance.BorderBrush = Brushes.Transparent;
|
txtLiquidFollowDistance.BorderThickness = new Thickness(0);
|
tbkErrorLiquidFollowDistance.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowDistance.Visibility = Visibility.Hidden;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidFollowDistance_TextChanged ERROR:", ex);
|
txtLiquidFollowDistance.BorderBrush = Brushes.Red;
|
txtLiquidFollowDistance.BorderThickness = new Thickness(1);
|
return;
|
}
|
}
|
|
private void txtLiquidFollowSpeed_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowSpeed = Convert.ToDouble(txtLiquidFollowSpeed.Text);
|
validationMixDispenseSpeed(txtLiquidFollowSpeed, tbkErrorLiquidFollowSpeed);
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("txtLiquidFollowSpeed_TextChanged ERROR:", ex);
|
txtLiquidFollowSpeed.BorderBrush = Brushes.Red;
|
tbkErrorLiquidFollowSpeed.Text = "[1,100]";
|
tbkErrorLiquidFollowSpeed.Foreground = Brushes.Red;
|
tbkErrorLiquidFollowSpeed.Visibility = Visibility.Visible;
|
return;
|
}
|
}
|
|
private void cbxLiquidFollowType_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
{
|
try
|
{
|
if (cbxLiquidFollowType.SelectedIndex == 1)
|
{
|
bdrFollowOneType.Visibility = Visibility.Visible;
|
tbkFollowTwoTypeLabel.Visibility = Visibility.Collapsed;
|
txtLiquidFollowArea.Visibility = Visibility.Collapsed;
|
tbkFollowTwoTypeUnit.Visibility = Visibility.Collapsed;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowType = cbxLiquidFollowType.SelectedIndex;
|
methodFileMoveLiquid.liquidFollowTypeName = ((string)cbxLiquidFollowType.SelectedItem).ToString();
|
}
|
}
|
else if (cbxLiquidFollowType.SelectedIndex == 2)
|
{
|
bdrFollowOneType.Visibility = Visibility.Collapsed;
|
tbkFollowTwoTypeLabel.Visibility = Visibility.Visible;
|
txtLiquidFollowArea.Visibility = Visibility.Visible;
|
tbkFollowTwoTypeUnit.Visibility = Visibility.Visible;
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.liquidFollowType = cbxLiquidFollowType.SelectedIndex;
|
methodFileMoveLiquid.liquidFollowTypeName = ((string)cbxLiquidFollowType.SelectedItem).ToString();
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("cbxLiquidFollowType_SelectionChanged ERROR:", ex);
|
}
|
}
|
|
private void checkboxLiquidFollow_Click(object sender, RoutedEventArgs e)
|
{
|
try
|
{
|
if (checkboxLiquidDetect.IsChecked == false)
|
{
|
checkboxLiquidFollow.IsChecked = false;
|
return;
|
}
|
|
if (checkboxLiquidFollow.IsChecked == true)
|
{
|
if (Shared.SoftwareInformation.software_device_number == DeviceCategory.DeviceX3)
|
{
|
cbxLiquidFollowType.SelectedIndex = 2;
|
}
|
else
|
{
|
cbxLiquidFollowType.SelectedIndex = 1;
|
}
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableLiquidFollow = true;
|
methodFileMoveLiquid.liquidFollowType = Convert.ToInt32(cbxLiquidFollowType.SelectedIndex);
|
methodFileMoveLiquid.liquidFollowTypeName = cbxLiquidFollowType.Text;
|
methodFileMoveLiquid.liquidFollowSpeed = Convert.ToDouble(txtLiquidFollowSpeed.Text);
|
methodFileMoveLiquid.liquidFollowDistance = Convert.ToDouble(txtLiquidFollowDistance.Text);
|
methodFileMoveLiquid.liquidFollowArea = Convert.ToDouble(txtLiquidFollowArea.Text);
|
methodFileMoveLiquid.enableMixFollow = rdMixFollow.IsChecked == true ? true : false;
|
methodFileMoveLiquid.liquidSensorDisIdText = cbxLiquidSensorDisId.Text;
|
methodFileMoveLiquid.liquidSensorDisIdValue = Convert.ToDouble(cbxLiquidSensorDisId.SelectedValue);
|
//gdLiquidFollow.IsEnabled = true;
|
}
|
}
|
else
|
{
|
if (Shared.SoftwareInformation.software_device_number == DeviceCategory.DeviceX3)
|
{
|
cbxLiquidFollowType.SelectedIndex = 2;
|
}
|
else
|
{
|
cbxLiquidFollowType.SelectedIndex = 1;
|
}
|
if (methodFileMoveLiquid != null)
|
{
|
methodFileMoveLiquid.enableLiquidFollow = false;
|
methodFileMoveLiquid.liquidFollowType = Convert.ToInt32(cbxLiquidFollowType.SelectedIndex);
|
methodFileMoveLiquid.liquidFollowTypeName = cbxLiquidFollowType.Text;
|
methodFileMoveLiquid.liquidFollowSpeed = Convert.ToDouble(txtLiquidFollowSpeed.Text);
|
methodFileMoveLiquid.liquidFollowDistance = Convert.ToDouble(txtLiquidFollowDistance.Text);
|
methodFileMoveLiquid.liquidFollowArea = Convert.ToDouble(txtLiquidFollowArea.Text);
|
methodFileMoveLiquid.enableMixFollow = rdMixFollow.IsChecked == true ? true : false;
|
methodFileMoveLiquid.liquidSensorDisIdText = cbxLiquidSensorDisId.Text;
|
methodFileMoveLiquid.liquidSensorDisIdValue = Convert.ToDouble(cbxLiquidSensorDisId.SelectedValue);
|
//gdLiquidFollow.IsEnabled = false;
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("checkboxLiquidFollow_Click ERROR:", ex);
|
}
|
}
|
|
#region 文件模板下载
|
private void btnDownloadTemplate_Click(object sender, RoutedEventArgs e)
|
{
|
//弹出保存对话框
|
try
|
{
|
string fileDir = string.Empty;
|
SaveFileDialog dlg = new SaveFileDialog();
|
dlg.Title = "另存为";
|
dlg.FileName = $"{DateTime.Now.ToString("yyyyMMddHHmmss")}.csv"; // Default file name
|
dlg.DefaultExt = ".xls"; // Default file extension
|
dlg.Filter = "excel files(*.xls)|*.xls|csv files(*.csv)|*.csv";// Filter files by extension
|
dlg.InitialDirectory = System.AppDomain.CurrentDomain.BaseDirectory;
|
|
if (dlg.ShowDialog() == true)
|
{
|
string directoryBase = System.AppDomain.CurrentDomain.BaseDirectory;
|
string sourceFilePath = directoryBase + "TempData\\moveliquidHX.csv" ;
|
File.Copy(sourceFilePath, dlg.FileName,true);
|
ShowTip.ShowNotice(string.Format("{0}成功{1}{2}","下载保存", Environment.NewLine, dlg.FileName), InfoType.Warning);
|
}
|
}
|
catch (Exception ex)
|
{
|
ShowTip.ShowNotice(string.Format("{0}失败{1}{2}","下载保存", Environment.NewLine, ""), InfoType.Warning);
|
LoggerHelper.ErrorLog("btnDownloadTemplate_Click ERROR:", ex);
|
}
|
}
|
#endregion
|
|
private void tbxCommandComment_TextChanged(object sender, TextChangedEventArgs e)
|
{
|
try
|
{
|
if (methodFileMoveLiquid != null)
|
{
|
if (this.method != null)
|
{
|
this.method.method_Tipcontent = tbxCommandComment.Text;
|
}
|
methodFileMoveLiquid.comment = tbxCommandComment.Text;
|
}
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("tbxCommandComment_TextChanged ERROR:", ex);
|
}
|
}
|
}
|
}
|