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 PrewetItemManager : Singleton { #region 常量 /// /// 前缀 /// private const string PREFIX = "Prewet"; #endregion #region 内部变量 /// /// 字典 /// private Dictionary _moduleItemDictionary = new Dictionary(); #endregion #region 属性 /// /// 已经安装模块 /// public List InstalledModules { get; private set; } = new List(); #endregion /// /// 初始化prewet /// /// public void InitializePrewetItem(XmlElement prewetElement) { PrewetItem prewetItem = new PrewetItem(); LayoutCellItemManager.Instance.InitializeLayoutCellItem(prewetItem, prewetElement); prewetItem.PrewetID = int.Parse(prewetElement.SelectSingleNode("PrewetID").InnerText); prewetItem.LinmotID = prewetElement.SelectSingleNode("LinmotID").InnerText; string key = $"{PREFIX}{prewetItem.PrewetID}"; if(prewetItem.Installed) { InstalledModules.Add(key); } prewetItem.ModuleName = key; prewetItem.ModuleType = ModuleType.Prewet.ToString(); _moduleItemDictionary[key] = prewetItem; CellItemManager.Instance.InitialLayoutCellItem(prewetItem); } /// /// 获取prewet项 /// /// /// public PrewetItem GetPrewetItem(string moduleName) { if (_moduleItemDictionary.Count == 1) { string key = _moduleItemDictionary.Keys.First(); return _moduleItemDictionary[key]; } else { return _moduleItemDictionary.ContainsKey(moduleName) ? _moduleItemDictionary[moduleName] : null; } } } }