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 SrdItemManager : Singleton { #region 常量 /// /// 前缀 /// private const string PREFIX = "SRD"; #endregion #region 内部变量 /// /// 字典 /// private Dictionary _srdItemDictionary=new Dictionary(); #endregion #region 属性 /// /// 已经安装模块 /// public List InstalledModules { get; private set; } = new List(); #endregion /// /// 初始化SRD项 /// /// public void InitialSRDItem(XmlElement xmlElement) { SrdItem srdItem = new SrdItem(); srdItem.SRDID = int.Parse(xmlElement.SelectSingleNode("SRDID").InnerText); srdItem.Installed = bool.Parse(xmlElement.SelectSingleNode("Installed").InnerText); srdItem.PermittedWaferSizeInMM = xmlElement.SelectSingleNode("PermittedWaferSizeInMM").InnerText; srdItem.Type = xmlElement.SelectSingleNode("Type").InnerText; string key = $"{PREFIX}{srdItem.SRDID}"; if(srdItem.Installed&&!InstalledModules.Contains(key)) { InstalledModules.Add(key); } _srdItemDictionary[key] = srdItem; } /// /// 获取SRDItem对象 /// /// /// public SrdItem GetSRDItem(string moduleName) { return _srdItemDictionary.ContainsKey(moduleName) ? _srdItemDictionary[moduleName] : null; } } }