| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 | using Caliburn.Micro;using Caliburn.Micro.Core;using MECF.Framework.Common.DataCenter;using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;using MECF.Framework.UI.Client.CenterViews.Dialogs;using MECF.Framework.UI.Client.ClientBase;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Input;namespace MECF.Framework.UI.Client.CenterViews.Parameter{    public class InterlockSelectItemViewModel : ModuleUiViewModelBase    {        public string ItemType { get; set; }        public string SelectedItem { get; set; }        public bool IsEnableItem { get; set; }        public InterlockSelectItemViewModel(string itemType)        {            IsEnableItem = itemType == "Limit" ? true : false;        }        public void SelectItem(string itemType)        {            var windowManager = IoC.Get<IWindowManager>();            switch (itemType)            {                case "EXTIN":                case "EXTALM":                case "ALARM":                case "EXTOUT":                case "ILKALM":                case "LED":                case "VLV":                    NumberKeyboard numberKeyboard = new NumberKeyboard(itemType, "");                    numberKeyboard.WindowStartupLocation = WindowStartupLocation.CenterScreen;                    if ((bool)numberKeyboard.ShowDialog())                    {                        SelectedItem = itemType + numberKeyboard.ValueString.PadLeft(3, '0');                        ((Window)GetView()).Close();                    }                    break;                case "ITEM":                    //InterlockItemViewModel interlockItemViewModel = new InterlockItemViewModel(ItemType);                    //if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockItemViewModel, null, "Interlock Item View"))                    //{                    //    SelectedItem = interlockItemViewModel.SelectedItem;                    //    ((Window)GetView()).Close();                    //}                    break;                case "FLAG":                    InterlockFlagViewModel interlockFlagViewModel = new InterlockFlagViewModel();                    if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockFlagViewModel, null, "Interlock FLAG View"))                    {                        SelectedItem = interlockFlagViewModel.FLAGSelected;                        ((Window)GetView()).Close();                    }                    break;                case "MFC":                    GetMfcItem();                    ItemsSelectDialogViewModel itemsSelectMfcViewModel = new ItemsSelectDialogViewModel();                    itemsSelectMfcViewModel.IsSpin = false;                    itemsSelectMfcViewModel.IsSingleModule = true;                    itemsSelectMfcViewModel.IsRadio = true;                    itemsSelectMfcViewModel.Items = MFCList;                    if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(itemsSelectMfcViewModel, null, "Interlock MFC View"))                    {                        SelectedItem = itemsSelectMfcViewModel.Result;                        ((Window)GetView()).Close();                    }                    break;                    //InterlockMFCViewModel interlockMFCViewModel = new InterlockMFCViewModel();                    //if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockMFCViewModel, null, "Interlock MFC View"))                    //{                    //    SelectedItem = interlockMFCViewModel.MFCSelected;                    //    ((Window)GetView()).Close();                    //}                    //break;                case "MFM":                    GetMfmItem();                    ItemsSelectDialogViewModel itemsSelectMfmViewModel = new ItemsSelectDialogViewModel();                    itemsSelectMfmViewModel.IsSpin = false;                    itemsSelectMfmViewModel.IsSingleModule = true;                    itemsSelectMfmViewModel.IsRadio = true;                    itemsSelectMfmViewModel.Items = MFMList;                    if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(itemsSelectMfmViewModel, null, "Interlock MFM View"))                    {                        SelectedItem = itemsSelectMfmViewModel.Result;                        ((Window)GetView()).Close();                    }                    break;                    //InterlockMFMViewModel interlockMFMViewModel = new InterlockMFMViewModel();                    //if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockMFMViewModel, null, "Interlock MFM View"))                    //{                    //    SelectedItem = interlockMFMViewModel.MFMSelected;                    //    ((Window)GetView()).Close();                    //}                    //break;                case "APC":                    GetApctem();                    ItemsSelectDialogViewModel itemsSelectApcViewModel = new ItemsSelectDialogViewModel();                    itemsSelectApcViewModel.IsSpin = false;                    itemsSelectApcViewModel.IsSingleModule = true;                    itemsSelectApcViewModel.IsRadio = true;                    itemsSelectApcViewModel.Items = APCList;                    if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(itemsSelectApcViewModel, null, "Interlock APC View"))                    {                        SelectedItem = itemsSelectApcViewModel.Result;                        ((Window)GetView()).Close();                    }                    break;                // InterlockAPCViewModel interlockAPCViewModel = new InterlockAPCViewModel();                //if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockAPCViewModel, null, "Interlock APC View"))                //{                //    SelectedItem = interlockAPCViewModel.APCSelected;                //    ((Window)GetView()).Close();                //}                //break;                case "SNS":                    InterlockSNSViewModel interlockSNSViewModel = new InterlockSNSViewModel();                    if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockSNSViewModel, null, "Interlock SNS View"))                    {                        SelectedItem = interlockSNSViewModel.SNSSelected;                        ((Window)GetView()).Close();                    }                    break;                case "TEMP":                    InterlockTEMPViewModel interlockTEMPViewModel = new InterlockTEMPViewModel();                    if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockTEMPViewModel, null, "Interlock TEMP View"))                    {                        SelectedItem = interlockTEMPViewModel.TEMPSelected;                        ((Window)GetView()).Close();                    }                    break;            }        }        public void CloseCmd()        {            ((Window)GetView()).Close();        }        public ObservableCollection<Option> MFCList = new ObservableCollection<Option>();        public List<ConfigNode> GetMfcItem()        {            this.SystemName = "System";            List<ConfigNode> ConfigNodes = SystemConfigProvider.Instance.GetConfigTree(SystemName).SubNodes;            var MfcItems = ConfigNodes.Where(x => x.Display == "Parameter").FirstOrDefault().SubNodes.Where(y => y.Name == "MFC").FirstOrDefault().SubNodes;            MFCList.Clear();            foreach (var item in MfcItems)            {                var isInstalled = QueryDataClient.Instance.Service.GetConfig($"PM1.MFC.{item.Name}.IsMFCInstalled");                //if (!(bool)isInstalled) continue;                MFCList.Add(new Option()                {                    Name = SystemConfigProvider.Instance.GetValueByName($"PM1.MFC.{item.Name}.GasName"),                    IsEnable= (bool)isInstalled,                });            }            return MfcItems;        }        public ObservableCollection<Option> MFMList = new ObservableCollection<Option>();        public List<ConfigNode> GetMfmItem()        {            this.SystemName = "System";            List<ConfigNode> ConfigNodes = SystemConfigProvider.Instance.GetConfigTree(SystemName).SubNodes;            var MfmItems = ConfigNodes.Where(x => x.Display == "Parameter").FirstOrDefault().SubNodes.Where(y => y.Name == "MFM").FirstOrDefault().SubNodes;            MFMList.Clear();            foreach (var item in MfmItems)            {                var isInstalled = QueryDataClient.Instance.Service.GetConfig($"PM1.MFM.{item.Name}.IsMFMInstalled");                //if (!(bool)isInstalled) continue;                MFMList.Add(new Option()                {                    Name = item.Name,                    IsEnable = (bool)isInstalled,                });            }            return MfmItems;        }        public ObservableCollection<Option> APCList = new ObservableCollection<Option>();        public List<ConfigNode> GetApctem()        {            this.SystemName = "System";            List<ConfigNode> ConfigNodes = SystemConfigProvider.Instance.GetConfigTree(SystemName).SubNodes;            var ApcItems = ConfigNodes.Where(x => x.Display == "Parameter").FirstOrDefault().SubNodes.Where(y => y.Name == "APC").FirstOrDefault().SubNodes;            APCList.Clear();            foreach (var item in ApcItems)            {                APCList.Add(new Option()                {                    Name = item.Name,                });            }            return ApcItems;        }    }    }
 |