using DriverLib.Engine;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Xml;
|
using XCoreBLL.Resource;
|
using XImagingXhandler.XDAL;
|
|
namespace XCore
|
{
|
public class PauseMoveBll
|
{
|
string strCurrentCulture = "";
|
public PauseMoveBll()
|
{
|
strCurrentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
|
}
|
/// <summary>
|
/// 生成吸液方法的xml节点属性对象
|
/// </summary>
|
/// <param name="xmlNode">吸液方法的xml节点</param>
|
/// <returns>吸液方法的xml节点属性对象</returns>
|
public MethodPauseMove GenerateMethodPauseMove(XmlNode xmlNode)
|
{
|
MethodPauseMove methodPauseMove = new MethodPauseMove();
|
methodPauseMove.isrun = xmlNode.SelectSingleNode("isrun").InnerText;
|
methodPauseMove.status = xmlNode.SelectSingleNode("status").InnerText;
|
methodPauseMove.name = xmlNode.SelectSingleNode("name").InnerText;
|
methodPauseMove.strIndex = xmlNode.SelectSingleNode("strIndex").InnerText;
|
methodPauseMove.label = xmlNode.SelectSingleNode("label").InnerText;
|
methodPauseMove.pauseMode = Convert.ToInt32(xmlNode.SelectSingleNode("pauseMode").InnerText);
|
methodPauseMove.pauseTime = xmlNode.SelectSingleNode("pauseTime").InnerText;
|
methodPauseMove.pauseTipInfo = xmlNode.SelectSingleNode("pauseTipInfo").InnerText;
|
return methodPauseMove;
|
}
|
|
#region 检查所有属性设置是否满足要求
|
/// <summary>
|
/// 检查所有属性设置是否满足要求
|
/// </summary>
|
/// <param name="methodAspirate">暂停属性对象</param>
|
/// <returns>检查所有属性设置是否满足要求</returns>
|
public MethodPropertyInfo CheckProperty(MethodPauseMove methodPauseMove)
|
{
|
MethodPropertyInfo methodPropertyInfo = new MethodPropertyInfo();
|
|
if (strCurrentCulture == "zh-CN")
|
{
|
methodPropertyInfo.property_tips_info = PauseMoveResourceCHS.tipsInfo.ToString();
|
|
if (methodPauseMove.armText == null || methodPauseMove.armText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceCHS.armText.ToString();
|
}
|
if (methodPauseMove.labwareText == null || methodPauseMove.labwareText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceCHS.labwareText.ToString();
|
}
|
if (methodPauseMove.labwaretipText == null || methodPauseMove.labwaretipText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceCHS.labwaretipText.ToString();
|
}
|
if (methodPauseMove.pauseTime == null || methodPauseMove.pauseTime == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceCHS.pauseTime.ToString();
|
}
|
if (methodPauseMove.positionText == null || methodPauseMove.positionText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceCHS.positionText.ToString();
|
}
|
}
|
else if (strCurrentCulture == "en-US")
|
{
|
methodPropertyInfo.property_tips_info = PauseMoveResourceENU.tipsInfo.ToString();
|
|
if (methodPauseMove.armText == null || methodPauseMove.armText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceENU.armText.ToString();
|
}
|
if (methodPauseMove.labwareText == null || methodPauseMove.labwareText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceENU.labwareText.ToString();
|
}
|
if (methodPauseMove.labwaretipText == null || methodPauseMove.labwaretipText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceENU.labwaretipText.ToString();
|
}
|
if (methodPauseMove.pauseTime == null || methodPauseMove.pauseTime == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceENU.pauseTime.ToString();
|
}
|
if (methodPauseMove.positionText == null || methodPauseMove.positionText == "")
|
{
|
methodPropertyInfo.property_name_info = PauseMoveResourceENU.positionText.ToString();
|
}
|
}
|
return methodPropertyInfo;
|
}
|
#endregion
|
|
#region 执行暂停,返回结果字符串
|
/// <summary>
|
/// 执行暂停,返回结果字符串
|
/// </summary>
|
/// <param name="flag">1:暂停;2:继续</param>
|
/// <param name="isSimulator"></param>
|
/// <returns>结果实体对象</returns>
|
public HxResult ExecutePause(int flag,bool isSimulator = false)
|
{
|
HxResult ret = new HxResult();
|
if (!isSimulator)
|
{
|
if (flag == 1)
|
{
|
ret = MethodAction.Instance.Interrupt(flag, true);
|
}
|
else if(flag == 2)
|
{
|
ret = MethodAction.Instance.Interrupt(flag, false);
|
}
|
}
|
else
|
{
|
ret.Result = ResultType.Success;
|
}
|
return ret;
|
}
|
#endregion
|
}
|
}
|