using Aitex.Core.Util; using MECF.Framework.Common.Equipment; 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 PowerSupplierItemManager : Singleton<PowerSupplierItemManager> { #region 常量 /// <summary> /// 前缀 /// </summary> private const string PREFIX = "Power"; #endregion #region 内部变量 /// <summary> /// 字典 /// </summary> private Dictionary<string, PowerSupplierItem> _moduleItemDictionary = new Dictionary<string, PowerSupplierItem>(); #endregion #region 属性 /// <summary> /// 已经安装模块 /// </summary> public List<string> InstalledModules { get; private set; } = new List<string>(); #endregion /// <summary> /// 初始化 /// </summary> /// <param name="xmlElement"></param> public void InitializeItem(XmlElement xmlElement) { PowerSupplierItem rpItem = new PowerSupplierItem(); rpItem.Installed = bool.Parse(xmlElement.SelectSingleNode("Installed").InnerText); rpItem.PowerSupplierID = int.Parse(xmlElement.SelectSingleNode("PowerSupplyID").InnerText); rpItem.SubType = xmlElement.SelectSingleNode("SubType").InnerText; rpItem.Count = int.Parse(xmlElement.SelectSingleNode("Count").InnerText); string key = $"{PREFIX}{rpItem.PowerSupplierID}"; if (rpItem.Installed && !InstalledModules.Contains(key)) { InstalledModules.Add(key); } _moduleItemDictionary[key] = rpItem; } /// <summary> /// 获取Power Supplier项 /// </summary> /// <returns></returns> public PowerSupplierItem GetPowerSupplierItem(string moduleName) { return _moduleItemDictionary.ContainsKey(moduleName) ? _moduleItemDictionary[moduleName]:null; } } }