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 DummyCasseteItemManager : Singleton { #region 常量 /// /// 前缀 /// private const string PREFIX = "Dummy"; #endregion #region 内部变量 /// /// 字典 /// private Dictionary _dummyCasseteDictionary=new Dictionary(); #endregion #region 属性 /// /// 已经安装模块 /// public List InstalledModules { get; private set; } = new List(); #endregion /// /// 初始化Dummy Cassete Item /// /// public void InitializeDummyCasseteItem(XmlElement xmlElement) { DummyCassetteItem dummyItem = new DummyCassetteItem(); dummyItem.Installed = bool.Parse(xmlElement.SelectSingleNode("Installed").InnerText); dummyItem.PermittedWaferSizeInMM = xmlElement.SelectSingleNode("PermittedWaferSizeInMM").InnerText; dummyItem.Type = xmlElement.SelectSingleNode("Type").InnerText; dummyItem.DummyCassetteID = int.Parse(xmlElement.SelectSingleNode("DummyCassetteID").InnerText); dummyItem.MaxNumberOfSlots = int.Parse(xmlElement.SelectSingleNode("MaxNumberOfSlots").InnerText); string key = $"{PREFIX}{dummyItem.DummyCassetteID}"; if(dummyItem.Installed && !InstalledModules.Contains(key)) { InstalledModules.Add(key); } _dummyCasseteDictionary[key] = dummyItem; } /// /// 获取DummyCassetteItem对象 /// /// /// public DummyCassetteItem GetDummyCassetteItem(string moduleName) { return _dummyCasseteDictionary.ContainsKey(moduleName) ? _dummyCasseteDictionary[moduleName] : null; } } }