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(); 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