using Aitex.Core.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace MECF.Framework.Common.ToolLayout { public class TransporterItemManager : Singleton { #region 常量 /// /// 前缀 /// private const string PREFIX = "Transporter"; #endregion #region 内部变量 /// /// 字典 /// private Dictionary _transporterItemDictionary=new Dictionary(); #endregion #region 属性 /// /// 已经安装模块 /// public List InstalledModules { get; private set; }=new List(); #endregion /// /// 初始化Transporter Item /// /// public void InitializeTransporterItem(XmlElement xmlElement) { TransporterItem transporterItem = new TransporterItem(); transporterItem.Installed = bool.Parse(xmlElement.SelectSingleNode("Installed").InnerText); transporterItem.TransporterID = int.Parse(xmlElement.SelectSingleNode("TransporterID").InnerText); transporterItem.SubType = xmlElement.SelectSingleNode("SubType").InnerText; transporterItem.DripTrayType = xmlElement.SelectSingleNode("DripTrayType").InnerText; transporterItem.DropBlockType = xmlElement.SelectSingleNode("DropBlockType").InnerText; transporterItem.BarcodeReader = xmlElement.SelectSingleNode("BarcodeReader").InnerText; string key = $"{PREFIX}{transporterItem.TransporterID}"; if(transporterItem.Installed && !InstalledModules.Contains(key)) { InstalledModules.Add(key); } _transporterItemDictionary[key]= transporterItem; } /// /// 获取TransporterItem对象 /// /// /// public TransporterItem GetTransporterItem(string moduleName) { return _transporterItemDictionary.ContainsKey(moduleName) ? _transporterItemDictionary[moduleName] : null; } } }