using Aitex.Core.RT.SCCore; using Caliburn.Micro; using Caliburn.Micro.Core; using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.RecipeCenter; using MECF.Framework.UI.Client.CenterViews.Editors.Recipe; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using FurnaceUI.Models; using FurnaceUI.Views.Parameter; using FurnaceUI.Views.Recipes; namespace FurnaceUI.Views.Editors { public class RecipeLayoutSetFillDummyTransferViewModel : FurnaceUIViewModelBase { private Visibility _existVisibility = Visibility.Visible; public Visibility ExistVisibility { get => _existVisibility; set { _existVisibility = value; NotifyOfPropertyChange(nameof(ExistVisibility)); } } private Visibility _exist2Visibility = Visibility.Hidden; public Visibility Exist2Visibility { get => _exist2Visibility; set { _exist2Visibility = value; NotifyOfPropertyChange(nameof(Exist2Visibility)); } } private Visibility _noneVisibility = Visibility.Hidden; public Visibility NoneVisibility { get => _noneVisibility; set { _noneVisibility = value; NotifyOfPropertyChange(nameof(NoneVisibility)); } } private Dictionary MonitorTransferDict = new Dictionary(); private string _title = ""; public string Title { get => _title; set { _title = value; NotifyOfPropertyChange(nameof(Title)); } } private string _dialogResultString; public string DialogResultString { get => _dialogResultString; set { _dialogResultString = value; NotifyOfPropertyChange(nameof(DialogResultString)); } } public bool IsSave { get; set; } public RecipeLayoutSetFillDummyTransferViewModel() { } public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式 private string _fillDummyTransferStr = "None"; public string FillDummyTransferStr { get => _fillDummyTransferStr; set { _fillDummyTransferStr = value; NotifyOfPropertyChange(nameof(FillDummyTransferStr)); } } public void FillDummyTransferSelectClick(string cmd) { if (MonitorTransferDict.ContainsKey(cmd)) { Title = MonitorTransferDict[cmd]; } switch (cmd) { case "Exist": SetExist(); break; case "ExistShortBatch": SetExistShortBatch(); break; case "None": SetNone(); break; default: break; } } private void SetExist() { ExistVisibility = Visibility.Visible; Exist2Visibility = Visibility.Hidden; NoneVisibility = Visibility.Hidden; DialogResultString = "Exist"; } private void SetExistShortBatch() { ExistVisibility = Visibility.Hidden; Exist2Visibility = Visibility.Visible; NoneVisibility = Visibility.Hidden; DialogResultString = "Exist(shortage)"; } private void SetNone() { ExistVisibility = Visibility.Hidden; Exist2Visibility = Visibility.Hidden; NoneVisibility = Visibility.Visible; DialogResultString = "None"; } public string RecipeType { get; set; } protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); LoadData(); LoadSetDefaultOption(view); } private void LoadData() { MonitorTransferDict.Clear(); MonitorTransferDict.Add("Exist", "Fill Dummy Wafers are transferred to the boat in case of Product Wafers shortage."); MonitorTransferDict.Add("ExistShortBatch", "Fill Dummy Wafers are transferred if the shortage is less than allowable.(In case,Lower S.D relocated)"); MonitorTransferDict.Add("None", "Fill Dummy Wafers are not transferred to the boat .(even if Product wafers is shortage)"); Title = MonitorTransferDict["Exist"]; } private void LoadSetDefaultOption(object view) { var FillDummyTransferView=(RecipeLayoutSetFillDummyTransferView)view; switch (_fillDummyTransferStr) { case "Exist": SetExist(); FillDummyTransferView.RdoExist.IsChecked = true; break; case "Exist(shortage)": SetExistShortBatch(); FillDummyTransferView.RdoExistShortBatch.IsChecked = true; break; case "None": FillDummyTransferView.RdoNone.IsChecked = true; SetNone(); break; default: break; } } public void TempSetSave() { IsSave = true; ((Window)GetView()).DialogResult = true; } public void TempSetCancel() { IsSave = false; ((Window)GetView()).DialogResult = false; } } }