| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | using System.Collections.Generic;using System.Linq;using MECF.Framework.Common.DataCenter;using OpenSEMI.ClientBase;namespace VirgoUI.Client{    public static class ModuleManager    {        /// <summary>        /// all module need init        /// </summary>        public static readonly List<string> ModulesID = new List<string>();        private static readonly List<string> ModuleNames = new List<string>{ "LP1", "LP2", "LP3", "EfemRobot", "Aligner1", "Aligner2", "Cooling1", "Cooling2", "Buffer", "PMA", "PMB", "Flipper" };             public static Dictionary<string, ModuleInfo> ModuleInfos { get; private set; } = new Dictionary<string, ModuleInfo>();        static ModuleManager()        {            string moduleString = (string)QueryDataClient.Instance.Service.GetConfig("System.InstalledModules");            var modules = moduleString.Split(',');            foreach(var mod in ModuleNames)            {                if(mod.Contains("LP"))                    ModulesID.Add(mod.Trim());                else if (modules.Contains(mod.Trim()))                    ModulesID.Add(mod.Trim());            }            //foreach (var mod in modules)             //    if(ModuleNames.Contains(mod.Trim()))             //        ModulesID.Add(mod.Trim());        }        public static void Initialize()        {            ModuleInfos.Clear();            foreach (string moduleID in ModulesID)            {                ModuleInfo modInfo = CreateModule(moduleID, true);                ModuleInfos.Add(moduleID, modInfo);            }        }        private static ModuleInfo CreateModule(string p_modid, bool p_install)        {            ModuleInfo m_data;            if (p_install)                m_data = new ModuleInfo(p_modid, p_install, VirgoUI.Client.ClientApp.Instance.WaferStatusManager.WaferStatusDic[p_modid], false);            else                m_data = new ModuleInfo(p_modid, p_install, null, false);            return m_data;        }    }}
 |