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;
|
using System.Collections;
|
using DriverLib.Engine;
|
using System.Collections.ObjectModel;
|
using System.Threading;
|
using HxEnum;
|
using DataEntity.Rack;
|
using System.Security.Claims;
|
|
namespace XCore
|
{
|
public class HoldingLabwareBll
|
{
|
string strCurrentCulture = "";
|
public HoldingLabwareBll()
|
{
|
strCurrentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
|
}
|
|
/// <summary>
|
/// 生成抓板保持开始方法的xml节点属性对象
|
/// </summary>
|
/// <param name="xmlNode">抓板转移方法的xml节点</param>
|
/// <returns>抓板转移方法的xml节点属性对象</returns>
|
public MethodHoldingLabware GenerateMethodBeginHoldingLabware(XmlNode xmlNode)
|
{
|
MethodHoldingLabware methodGripTransport = new MethodHoldingLabware();
|
methodGripTransport.isrun = xmlNode.SelectSingleNode("isrun").InnerText;
|
methodGripTransport.status = xmlNode.SelectSingleNode("status").InnerText;
|
methodGripTransport.name = xmlNode.SelectSingleNode("name").InnerText;
|
methodGripTransport.strIndex = xmlNode.SelectSingleNode("strIndex").InnerText;
|
methodGripTransport.label = xmlNode.SelectSingleNode("label").InnerText;
|
|
#region 臂
|
methodGripTransport.armText = xmlNode.SelectSingleNode("arm/text").InnerText;
|
methodGripTransport.armValue = xmlNode.SelectSingleNode("arm/value").InnerText;
|
#endregion
|
|
#region 来源点位
|
methodGripTransport.srcPositionText = xmlNode.SelectSingleNode("sourceLattice/text").InnerText;
|
methodGripTransport.srcPositionValue = xmlNode.SelectSingleNode("sourceLattice/value").InnerText;
|
methodGripTransport.srcPositionType = Convert.ToInt32(xmlNode.SelectSingleNode("sourceLattice/type").InnerText);
|
#endregion
|
|
#region 抓板方向
|
methodGripTransport.gripModelText = xmlNode.SelectSingleNode("gripModel/text").InnerText;
|
methodGripTransport.gripModelValue = Convert.ToInt32(xmlNode.SelectSingleNode("gripModel/value").InnerText);
|
#endregion
|
|
#region 抓取耗材
|
methodGripTransport.gripPickLabwareText = xmlNode.SelectSingleNode("gripPickObject/text").InnerText;
|
methodGripTransport.gripPickLabwareValue = xmlNode.SelectSingleNode("gripPickObject/value").InnerText;
|
#endregion
|
|
#region 抓板位置
|
methodGripTransport.gripModelPosText = xmlNode.SelectSingleNode("gripModelPos/text").InnerText;
|
methodGripTransport.gripModelPosValue = Convert.ToInt32(xmlNode.SelectSingleNode("gripModelPos/value").InnerText);
|
#endregion
|
|
methodGripTransport.transportMode = Convert.ToInt32(xmlNode.SelectSingleNode("transportMode").InnerText);
|
methodGripTransport.transportCount = Convert.ToInt32(xmlNode.SelectSingleNode("transportCount").InnerText);
|
|
return methodGripTransport;
|
}
|
|
/// <summary>
|
/// 生成抓板保持结束方法的xml节点属性对象
|
/// </summary>
|
/// <param name="xmlNode">抓板转移方法的xml节点</param>
|
/// <returns>抓板转移方法的xml节点属性对象</returns>
|
public MethodHoldingLabware GenerateMethodEndHoldingLabware(XmlNode xmlNode)
|
{
|
MethodHoldingLabware methodGripTransport = new MethodHoldingLabware();
|
methodGripTransport.isrun = xmlNode.SelectSingleNode("isrun").InnerText;
|
methodGripTransport.status = xmlNode.SelectSingleNode("status").InnerText;
|
methodGripTransport.name = xmlNode.SelectSingleNode("name").InnerText;
|
methodGripTransport.strIndex = xmlNode.SelectSingleNode("strIndex").InnerText;
|
methodGripTransport.label = xmlNode.SelectSingleNode("label").InnerText;
|
|
#region 臂
|
methodGripTransport.armText = xmlNode.SelectSingleNode("arm/text").InnerText;
|
methodGripTransport.armValue = xmlNode.SelectSingleNode("arm/value").InnerText;
|
#endregion
|
|
#region 目标点位
|
methodGripTransport.desPositionText = xmlNode.SelectSingleNode("destinationLattice/text").InnerText;
|
methodGripTransport.desPositionValue = xmlNode.SelectSingleNode("destinationLattice/value").InnerText;
|
methodGripTransport.desPositionType = Convert.ToInt32(xmlNode.SelectSingleNode("destinationLattice/type").InnerText);
|
#endregion
|
|
#region 放板方向
|
methodGripTransport.gripModelSetText = xmlNode.SelectSingleNode("gripModelSet/text").InnerText;
|
methodGripTransport.gripModelSetValue = Convert.ToInt32(xmlNode.SelectSingleNode("gripModelSet/value").InnerText);
|
#endregion
|
|
#region 放在耗材上
|
methodGripTransport.gripPlaceLabwareText = xmlNode.SelectSingleNode("gripPlaceObject/text").InnerText;
|
methodGripTransport.gripPlaceLabwareValue = xmlNode.SelectSingleNode("gripPlaceObject/value").InnerText;
|
#endregion
|
|
//methodGripTransport.transportMode = Convert.ToInt32(xmlNode.SelectSingleNode("transportMode").InnerText);
|
//methodGripTransport.transportCount = Convert.ToInt32(xmlNode.SelectSingleNode("transportMode").InnerText);
|
return methodGripTransport;
|
}
|
|
#region 检查所有属性设置是否满足要求
|
/// <summary>
|
/// 检查所有属性设置是否满足要求
|
/// </summary>
|
/// <param name="methodAspirate">抓板转移属性对象</param>
|
/// <returns>检查所有属性设置是否满足要求</returns>
|
public MethodPropertyInfo CheckProperty(MethodGripTransport methodGripTransport)
|
{
|
MethodPropertyInfo methodPropertyInfo = new MethodPropertyInfo();
|
|
if (strCurrentCulture == "zh-CN")
|
{
|
methodPropertyInfo.property_tips_info = GripTransportResourceCHS.tipsInfo.ToString();
|
|
if (methodGripTransport.armText == null || methodGripTransport.armText == "")
|
{
|
methodPropertyInfo.property_name_info = GripTransportResourceCHS.armText.ToString();
|
}
|
if (methodGripTransport.srcPositionText == null || methodGripTransport.srcPositionText == "")
|
{
|
methodPropertyInfo.property_name_info = GripTransportResourceCHS.sourceLatticeText.ToString();
|
}
|
if (methodGripTransport.desPositionText == null || methodGripTransport.desPositionText == "")
|
{
|
methodPropertyInfo.property_name_info = GripTransportResourceCHS.destinationLatticeText.ToString();
|
}
|
}
|
else if (strCurrentCulture == "en-US")
|
{
|
methodPropertyInfo.property_tips_info = GripTransportResourceENU.tipsInfo.ToString();
|
|
if (methodGripTransport.armText == null || methodGripTransport.armText == "")
|
{
|
methodPropertyInfo.property_name_info = GripTransportResourceENU.armText.ToString();
|
}
|
if (methodGripTransport.srcPositionText == null || methodGripTransport.srcPositionText == "")
|
{
|
methodPropertyInfo.property_name_info = GripTransportResourceENU.sourceLatticeText.ToString();
|
}
|
if (methodGripTransport.desPositionText == null || methodGripTransport.desPositionText == "")
|
{
|
methodPropertyInfo.property_name_info = GripTransportResourceENU.destinationLatticeText.ToString();
|
}
|
}
|
return methodPropertyInfo;
|
}
|
#endregion
|
}
|
}
|