using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections.ObjectModel; using System.Windows; using System.Windows.Input; using OpenSEMI.ClientBase; using OpenSEMI.ClientBase.Command; using MECF.Framework.Common.RecipeCenter; using RecipeEditorLib.DGExtension.CustomColumn; using Caliburn.Micro.Core; namespace FurnaceUI.Client.Dialog { public class N2PurgeSelectDialogViewModel : DialogViewModel { #region properties private string _SelectedName; public string SelectedName { get { return _SelectedName; } set { _SelectedName = value; } } public Visibility TransferRoomVisible { get; set; } = Visibility.Collapsed; public Visibility FOUPOpenVisible { get; set; } = Visibility.Collapsed; public Visibility O2DetectorVisible { get; set; } = Visibility.Collapsed; public Visibility ClampOFFVisible { get; set; } = Visibility.Collapsed; public Visibility FurnaceOpenVisible { get; set; } = Visibility.Collapsed; public Visibility OperationCheckVisible { get; set; } = Visibility.Collapsed; public Visibility O2DensityQuickDownVisible { get; set; } = Visibility.Collapsed; public Visibility FoupEnterVisible { get; set; } = Visibility.Collapsed; public Visibility WaferChargeVisible { get; set; } = Visibility.Collapsed; public Visibility BoatLoadVisible { get; set; } = Visibility.Collapsed; public Visibility FoupInhibitAfterVisible { get; set; } = Visibility.Collapsed; public Visibility BoatUnloadVisible { get; set; } = Visibility.Collapsed; public Visibility BoatUnloadPreVisible { get; set; } = Visibility.Collapsed; public Visibility WaferCoolingVisible { get; set; } = Visibility.Collapsed; public Visibility WaferDishargeVisible { get; set; } = Visibility.Collapsed; #endregion #region Command private ICommand _BtnSelectCommand; public ICommand SelectCommand { get { if (this._BtnSelectCommand == null) this._BtnSelectCommand = new BaseCommand>((EventCommandParameter arg) => this.OnSelectCommand(arg)); return this._BtnSelectCommand; } } private ICommand _BtnCancelCommand; public ICommand CancelCommand { get { if (this._BtnCancelCommand == null) this._BtnCancelCommand = new BaseCommand>((EventCommandParameter arg) => this.OnCancelCommand(arg)); return this._BtnCancelCommand; } } private ICommand _ListViewDoubleClick; public ICommand ListViewDoubleClick { get { if (this._ListViewDoubleClick == null) this._ListViewDoubleClick = new BaseCommand>((EventCommandParameter arg) => this.OnListViewDoubleClick(arg)); return this._ListViewDoubleClick; } } #endregion #region Function public N2PurgeSelectDialogViewModel(string ButtonPara) { switch (ButtonPara) { case "TransferRoomVisible": TransferRoomVisible = Visibility.Visible; break; case "FOUPOpenVisible": FOUPOpenVisible = Visibility.Visible; break; case "O2DetectorVisible": O2DetectorVisible = Visibility.Visible; break; case "ClampOFFVisible": ClampOFFVisible = Visibility.Visible; break; case "FurnaceOpenVisible": FurnaceOpenVisible = Visibility.Visible; break; case "OperationCheckVisible": OperationCheckVisible = Visibility.Visible; break; case "O2DensityQuickDownVisible": O2DensityQuickDownVisible = Visibility.Visible; break; case "FoupEnterVisible": FoupEnterVisible = Visibility.Visible; break; case "WaferChargeVisible": WaferChargeVisible = Visibility.Visible; break; case "BoatLoadVisible": BoatLoadVisible = Visibility.Visible; break; case "FoupInhibitAfterVisible": FoupInhibitAfterVisible = Visibility.Visible; break; case "BoatUnloadVisible": BoatUnloadVisible = Visibility.Visible; break; case "BoatUnloadPreVisible": BoatUnloadPreVisible = Visibility.Visible; break; case "WaferCoolingVisible": WaferCoolingVisible = Visibility.Visible; break; case "WaferDishargeVisible": WaferDishargeVisible = Visibility.Visible; break; } } protected override void OnInitialize() { base.OnInitialize(); this.DisplayName = "Select Dialog"; } protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); } private void OnSelectCommand(EventCommandParameter arg) { DialogResult = SelectedName; IsCancel = false; TryClose(true); } private void OnListViewDoubleClick(EventCommandParameter arg) { if (arg != null) { this.DialogResult = SelectedName; IsCancel = false; TryClose(true); } } private void OnCancelCommand(EventCommandParameter arg) { IsCancel = true; TryClose(false); } #endregion } }