using Caliburn.Micro; using Caliburn.Micro.Core; using FurnaceUI.Models; using MECF.Framework.UI.Client.CenterViews.Dialogs; using MECF.Framework.UI.Client.ClientViews.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace FurnaceUI.Views.Operations { public class InterlockSelectItemViewModel : FurnaceModuleUIViewModelBase { 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 "APC": 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": InterlockMFCViewModel interlockMFCViewModel = new InterlockMFCViewModel(); if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockMFCViewModel, null, "Interlock MFC View")) { SelectedItem = interlockMFCViewModel.MFCSelected; ((Window)GetView()).Close(); } break; case "MFM": InterlockMFMViewModel interlockMFMViewModel = new InterlockMFMViewModel(); if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(interlockMFMViewModel, null, "Interlock MFM View")) { SelectedItem = interlockMFMViewModel.MFMSelected; ((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(); } } }