DryerItemManager.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using Aitex.Core.Util;
  2. using MECF.Framework.Common.Equipment;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Xml;
  9. namespace MECF.Framework.Common.ToolLayout
  10. {
  11. public class DryerItemManager: Singleton<DryerItemManager>
  12. {
  13. #region 常量
  14. /// <summary>
  15. /// 前缀
  16. /// </summary>
  17. private const string PREFIX = "Dryer";
  18. #endregion
  19. #region 内部变量
  20. /// <summary>
  21. /// 字典
  22. /// </summary>
  23. private Dictionary<string,DryerItem> _dryerItemDictionary=new Dictionary<string, DryerItem>();
  24. #endregion
  25. #region 属性
  26. /// <summary>
  27. /// 已经安装模块
  28. /// </summary>
  29. public List<string> InstalledModules { get; private set; } = new List<string>();
  30. #endregion
  31. /// <summary>
  32. /// 初始化Dryer项
  33. /// </summary>
  34. /// <param name="dryerItemElement"></param>
  35. public void InitializeDryerItem(XmlElement dryerItemElement)
  36. {
  37. DryerItem dryerItem = new DryerItem();
  38. dryerItem.CellType = "Cell";
  39. LayoutCellItemManager.Instance.InitializeLayoutCellItem(dryerItem, dryerItemElement);
  40. dryerItem.DryerID = int.Parse(dryerItemElement.SelectSingleNode("DryerID").InnerText);
  41. string key = $"{PREFIX}{dryerItem.DryerID}";
  42. if(dryerItem.Installed && !InstalledModules.Contains(key))
  43. {
  44. InstalledModules.Add(key);
  45. }
  46. dryerItem.ModuleName = key;
  47. dryerItem.ModuleType = ModuleType.Dryer.ToString();
  48. _dryerItemDictionary[key] = dryerItem;
  49. CellItemManager.Instance.InitialLayoutCellItem(dryerItem);
  50. }
  51. /// <summary>
  52. /// 获取DryerItem对象
  53. /// </summary>
  54. /// <param name="moduleName"></param>
  55. /// <returns></returns>
  56. public DryerItem GetDryerItem(string moduleName)
  57. {
  58. return _dryerItemDictionary.ContainsKey(moduleName) ? _dryerItemDictionary[moduleName] : null;
  59. }
  60. }
  61. }