using Aitex.Core.Util; using Caliburn.Micro.Core; using FurnaceUI.Common; using FurnaceUI.Models; using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.SubstrateTrackings; 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 Aitex.Core.RT.Log; using Caliburn.Micro; namespace FurnaceUI.Views.Jobs { public class CarrierMaterialInformation : PropertyChangedBase { private string _no; public string No { get { return _no; } set { _no = value; NotifyOfPropertyChange("No"); } } private string _moduleName; public string ModuleName { get { return _moduleName; } set { _moduleName = value; NotifyOfPropertyChange("ModuleName"); } } private string _waferStauts; public string WaferStauts { get { return _waferStauts; } set { _waferStauts = value; NotifyOfPropertyChange("WaferStauts"); } } private bool _stockerCarrierEnable; public bool StockerCarrierEnable { get { return _stockerCarrierEnable; } set { _stockerCarrierEnable = value; NotifyOfPropertyChange("StockerCarrierEnable"); } } private bool _isSelected; public bool IsSelected { get { return _isSelected; } set { _isSelected = value; NotifyOfPropertyChange("IsSelected"); } } private string _carrierType; public string CarrierType { get { return _carrierType; } set { _carrierType = value; NotifyOfPropertyChange("CarrierType"); } } private string _carrierId; public string CarrierId { get { return _carrierId; } set { _carrierId = value; NotifyOfPropertyChange("CarrierId"); } } private string _waferCount; public string WaferCount { get { return _waferCount; } set { _waferCount = value; NotifyOfPropertyChange("WaferCount"); } } private DateTime _loadTime; public DateTime LoadTime { get { return _loadTime; } set { _loadTime = value; NotifyOfPropertyChange("LoadTime"); } } private string _operatorName; public string OperatorName { get { return _operatorName; } set { _operatorName = value; NotifyOfPropertyChange("OperatorName"); } } private string _slotMap; public string SlotMap { get => _slotMap; set { _slotMap = value; NotifyOfPropertyChange(nameof(SlotMap)); } } public Aitex.Core.Common.WaferInfo[] Wafers { get; set; } private string _strSlot; public string StrSlot { get => _strSlot; set { _strSlot = value; NotifyOfPropertyChange(nameof(StrSlot)); } } private string _existSlot; public string ExistSlot { get => _existSlot; set { _existSlot = value; NotifyOfPropertyChange(nameof(ExistSlot)); } } private string _loadPortName; public string LoadPortName { get => _loadPortName; set { _loadPortName = value; if ("LP1" == value) { IsLoadLP1 = true; IsLoadLP2 = false; } else if ("LP2" == value) { IsLoadLP1 = false; IsLoadLP2 = true; } else { IsLoadLP1 = true; IsLoadLP2 = true; } NotifyOfPropertyChange(nameof(LoadPortName)); } } private bool _isLoadLP1; public bool IsLoadLP1 { get => _isLoadLP1; set { _isLoadLP1 = value; NotifyOfPropertyChange(nameof(IsLoadLP1)); } } private bool _isLoadLP2; public bool IsLoadLP2 { get => _isLoadLP2; set { _isLoadLP2 = value; NotifyOfPropertyChange(nameof(IsLoadLP2)); } } } public class SelectMaterialViewModel : FurnaceModuleUIViewModelBase { public string CarrierType { get; set; } public ObservableCollection CarrierItemList { get; set; } = new ObservableCollection(); public ObservableCollection SelectCarrierItemList { get; set; } = new ObservableCollection(); [Subscription("Stocker1.LotID")] public string Stocker1LotID { get; set; } [Subscription("Stocker2.LotID")] public string Stocker2LotID { get; set; } [Subscription("Stocker3.LotID")] public string Stocker3LotID { get; set; } [Subscription("Stocker4.LotID")] public string Stocker4LotID { get; set; } [Subscription("Stocker5.LotID")] public string Stocker5LotID { get; set; } [Subscription("Stocker6.LotID")] public string Stocker6LotID { get; set; } [Subscription("Stocker7.LotID")] public string Stocker7LotID { get; set; } [Subscription("Stocker8.LotID")] public string Stocker8LotID { get; set; } [Subscription("Stocker9.LotID")] public string Stocker9LotID { get; set; } [Subscription("Stocker10.LotID")] public string Stocker10LotID { get; set; } [Subscription("Stocker11.LotID")] public string Stocker11LotID { get; set; } [Subscription("Stocker12.LotID")] public string Stocker12LotID { get; set; } [Subscription("Stocker13.LotID")] public string Stocker13LotID { get; set; } [Subscription("Stocker14.LotID")] public string Stocker14LotID { get; set; } [Subscription("Stocker15.LotID")] public string Stocker15LotID { get; set; } [Subscription("Stocker16.LotID")] public string Stocker16LotID { get; set; } [Subscription("Stocker17.LotID")] public string Stocker17LotID { get; set; } [Subscription("Stocker18.LotID")] public string Stocker18LotID { get; set; } public int Stocker1WaferCount { get; set; } = 0; public int Stocker2WaferCount { get; set; } = 0; public int Stocker3WaferCount { get; set; } = 0; public int Stocker4WaferCount { get; set; } = 0; public int Stocker5WaferCount { get; set; } = 0; public int Stocker6WaferCount { get; set; } = 0; public int Stocker7WaferCount { get; set; } = 0; public int Stocker8WaferCount { get; set; } = 0; public int Stocker9WaferCount { get; set; } = 0; public int Stocker10WaferCount { get; set; } = 0; public int Stocker11WaferCount { get; set; } = 0; public int Stocker12WaferCount { get; set; } = 0; public int Stocker14WaferCount { get; set; } = 0; public int Stocker15WaferCount { get; set; } = 0; public List carrierlist { get; set; } public int pointP1Count { get; set; } public int pointP2Count { get; set; } public int pointP3Count { get; set; } public int pointP4Count { get; set; } public int pointP5Count { get; set; } public int pointP6Count { get; set; } public int pointP7Count { get; set; } public int pointP8Count { get; set; } public int pointP9Count { get; set; } public int pointP10Count { get; set; } public int pointP11Count { get; set; } public int pointP12Count { get; set; } public int pointP13Count { get; set; } public int pointP14Count { get; set; } public int pointP15Count { get; set; } public int pointP16Count { get; set; } public int pointP17Count { get; set; } public int pointP18Count { get; set; } public int pointM1Count { get; set; } public int pointM2Count { get; set; } public int pointM3Count { get; set; } public int pointM4Count { get; set; } public int pointM5Count { get; set; } public int pointM6Count { get; set; } public int pointM7Count { get; set; } public int pointM8Count { get; set; } public int pointM9Count { get; set; } public int pointM10Count { get; set; } public int pointM11Count { get; set; } public int pointM12Count { get; set; } public int pointM13Count { get; set; } public int pointM14Count { get; set; } public int pointM15Count { get; set; } public int pointM16Count { get; set; } public int pointM17Count { get; set; } public int pointM18Count { get; set; } public string LoadPJobPara { get; set; } public SelectMaterialViewModel() { } protected override void OnActivate() { base.OnActivate(); CheckChanged(CarrierType); } string[] moduleNames = new string[] { "Stocker1", "Stocker2", "Stocker3", "Stocker4", "Stocker5", "Stocker6", "Stocker7", "Stocker8", "Stocker9", "Stocker10", "Stocker11", "Stocker12", "Stocker14", "Stocker15" }; protected override void InvokeAfterUpdateProperty(Dictionary data) { base.InvokeAfterUpdateProperty(data); foreach (var item in moduleNames) { if (ModuleManager.ModuleInfos.ContainsKey(item)) { this.GetType().GetProperty($"{item}WaferCount").SetValue(this, ModuleManager.ModuleInfos[item].WaferManager.Wafers.Where(x => x.WaferStatus != 0).Count()); } } } public void CheckChanged(string type) { try { CarrierItemList.Clear(); switch (type) { case "P": for (int i = 0; i < carrierlist.Count; i++) { if (!(bool)QueryDataClient.Instance.Service.GetConfig($"System.SetUp.IsStocker{carrierlist[i].StockerIndex}Installed")) continue; CarrierMaterialInformation carrierInfo = new CarrierMaterialInformation(); carrierInfo.No = carrierlist[i].StockerIndex.ToString(); carrierInfo.ModuleName = $"Stocker{carrierlist[i].StockerIndex}"; if (carrierlist[i].IsMapped) { carrierInfo.SlotMap = string.Join("", carrierlist[i].Wafers.Select(x => Convert.ToInt16(x.Status).ToString()).ToArray()); } carrierInfo.Wafers = carrierlist[i].Wafers; carrierInfo.CarrierType = carrierlist[i].CarrierType.ToString(); carrierInfo.CarrierId = carrierlist[i].CarrierId; string tempStr = string.Empty; var stockerUseSlots = QueryDataClient.Instance.Service.GetData("Scheduler.StockerUseSlots") as Dictionary; if (stockerUseSlots != null) { if (stockerUseSlots.TryGetValue(carrierInfo.ModuleName, out string tempValue)) { tempStr = tempValue; } } if (ModuleManager.ModuleInfos.ContainsKey(carrierlist[i].InternalModuleName.ToString())) { var tempList = ModuleManager.ModuleInfos[carrierlist[i].InternalModuleName.ToString()].WaferManager.Wafers.Where(x => x.WaferStatus != 0).ToList(); carrierInfo.WaferCount = tempList.Count().ToString(); foreach (var item in tempList) { var tempWafer = carrierlist[i].Wafers.Where(p => p.WaferID == item.SlotIndex.ToString()).FirstOrDefault(); if (tempWafer != null && item.WaferStatus == 1 && !tempStr.Split(',').Contains(item.SlotID.ToString())) { tempWafer.Status = Aitex.Core.Common.WaferStatus.Normal; } } } carrierInfo.LoadTime = carrierlist[i].LoadTime; carrierInfo.OperatorName = "admin"; carrierInfo.Wafers = carrierlist[i].Wafers; var carrier = SelectCarrierItemList.Where(x => x.ModuleName == carrierInfo.ModuleName && x.CarrierId == carrierInfo.CarrierId).FirstOrDefault(); if (carrier != null) { carrierInfo.StrSlot = carrier.StrSlot; carrierInfo.IsSelected = true; this.GetType().GetProperty($"pointP{carrierlist[i].StockerIndex.ToString()}Count").SetValue(this, 1); } else { carrierInfo.IsSelected = false; this.GetType().GetProperty($"pointP{carrierlist[i].StockerIndex.ToString()}Count").SetValue(this, 0); } CarrierItemList.Add(carrierInfo); } break; case "M": for (int i = 0; i < carrierlist.Count; i++) { if (!(bool)QueryDataClient.Instance.Service.GetConfig($"System.SetUp.IsStocker{carrierlist[i].StockerIndex}Installed")) continue; CarrierMaterialInformation carrierInfo = new CarrierMaterialInformation(); carrierInfo.No = carrierlist[i].StockerIndex.ToString(); carrierInfo.ModuleName = $"Stocker{carrierlist[i].StockerIndex}"; carrierInfo.CarrierType = carrierlist[i].CarrierType.ToString(); carrierInfo.CarrierId = carrierlist[i].CarrierId; string tempStr = string.Empty; var stockerUseSlots = QueryDataClient.Instance.Service.GetData("Scheduler.StockerUseSlots") as Dictionary; if (stockerUseSlots != null) { if (stockerUseSlots.TryGetValue(carrierInfo.ModuleName, out string tempValue)) { tempStr = tempValue; } } if (ModuleManager.ModuleInfos.ContainsKey(carrierlist[i].InternalModuleName.ToString())) { var tempList = ModuleManager.ModuleInfos[carrierlist[i].InternalModuleName.ToString()].WaferManager.Wafers.Where(x => x.WaferStatus != 0).ToList(); carrierInfo.WaferCount = tempList.Count().ToString(); foreach (var item in tempList) { var tempWafer = carrierlist[i].Wafers.Where(p => p.WaferID == item.SlotIndex.ToString()).FirstOrDefault(); if (tempWafer != null && item.WaferStatus == 1 && !tempStr.Split(',').Contains(item.SlotID.ToString())) { tempWafer.Status = Aitex.Core.Common.WaferStatus.Normal; } } } carrierInfo.LoadTime = carrierlist[i].LoadTime; carrierInfo.OperatorName = "admin"; carrierInfo.Wafers = carrierlist[i].Wafers; var carrier = SelectCarrierItemList.Where(x => x.ModuleName == carrierInfo.ModuleName && x.CarrierId == carrierInfo.CarrierId).FirstOrDefault(); if (carrier != null) { carrierInfo.IsSelected = true; carrierInfo.StrSlot = carrier.StrSlot; this.GetType().GetProperty($"pointM{carrierlist[i].StockerIndex}Count").SetValue(this, 1); } else { carrierInfo.IsSelected = false; this.GetType().GetProperty($"pointM{carrierlist[i].StockerIndex}Count").SetValue(this, 0); } CarrierItemList.Add(carrierInfo); } break; } } catch (Exception e) { LOG.Error($"SelectMaterialViewModel e:{e.Message}"); throw; } } public void EditCarrierID(string type, string no) { var windowManager = IoC.Get(); WaferMapSelectedViewModel waferMapSelectedViewModel = new WaferMapSelectedViewModel(); waferMapSelectedViewModel.WaferType = type; waferMapSelectedViewModel.WaferNo = no; CarrierMaterialInformation carr = null; switch (type) { case "P": carr = CarrierItemList.FirstOrDefault(x => x.No == no); break; case "SD": carr = CarrierItemList.FirstOrDefault(x => x.No == no); break; case "ED": carr = CarrierItemList.FirstOrDefault(x => x.No == no); break; case "M1": carr = CarrierItemList.FirstOrDefault(x => x.No == no); break; case "M2": carr = CarrierItemList.FirstOrDefault(x => x.No == no); break; default: break; } if (carr == null) return; waferMapSelectedViewModel.StrSlots = carr.StrSlot; waferMapSelectedViewModel.Wafers = carr.Wafers; waferMapSelectedViewModel.CarrierID = carr.CarrierId; if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(waferMapSelectedViewModel, null, "Wafer Map")) { carr.CarrierId = waferMapSelectedViewModel.CarrierID; carr.WaferCount = waferMapSelectedViewModel.WaferCount; carr.SlotMap = waferMapSelectedViewModel.SlotMap; carr.StrSlot = waferMapSelectedViewModel.StrSlots; carr.ExistSlot = waferMapSelectedViewModel.IsExistChecked ? "Exist" : "None"; int count = 0; int.TryParse(waferMapSelectedViewModel.WaferCount, out count); if (count != 0) { carr.IsSelected = true; } else { carr.IsSelected = false; } } else { carr.IsSelected = false; } } //public void EditCarrierID(string type, string no) //{ // if (type == "P" || type == "None") // { // switch (no) // { // case "1": // pointP1Count++; // if (pointP1Count % 2 == 0) // CarrierItemList.Where(s => s.No == "1").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "1").FirstOrDefault().IsSelected = true; // break; // case "2": // pointP2Count++; // if (pointP2Count % 2 == 0) // CarrierItemList.Where(s => s.No == "2").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "2").FirstOrDefault().IsSelected = true; // break; // case "3": // pointP3Count++; // if (pointP3Count % 2 == 0) // CarrierItemList.Where(s => s.No == "3").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "3").FirstOrDefault().IsSelected = true; // break; // case "4": // pointP4Count++; // if (pointP4Count % 2 == 0) // CarrierItemList.Where(s => s.No == "4").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "4").FirstOrDefault().IsSelected = true; // break; // case "5": // pointP5Count++; // if (pointP5Count % 2 == 0) // CarrierItemList.Where(s => s.No == "5").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "5").FirstOrDefault().IsSelected = true; // break; // case "6": // pointP6Count++; // if (pointP6Count % 2 == 0) // CarrierItemList.Where(s => s.No == "6").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "6").FirstOrDefault().IsSelected = true; // break; // case "7": // pointP7Count++; // if (pointP7Count % 2 == 0) // CarrierItemList.Where(s => s.No == "7").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "7").FirstOrDefault().IsSelected = true; // break; // case "8": // pointP8Count++; // if (pointP8Count % 2 == 0) // CarrierItemList.Where(s => s.No == "8").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "8").FirstOrDefault().IsSelected = true; // break; // case "9": // pointP9Count++; // if (pointP9Count % 2 == 0) // CarrierItemList.Where(s => s.No == "9").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "9").FirstOrDefault().IsSelected = true; // break; // case "10": // pointP10Count++; // if (pointP10Count % 2 == 0) // CarrierItemList.Where(s => s.No == "10").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "10").FirstOrDefault().IsSelected = true; // break; // case "11": // pointP11Count++; // if (pointP11Count % 2 == 0) // CarrierItemList.Where(s => s.No == "11").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "11").FirstOrDefault().IsSelected = true; // break; // case "12": // pointP12Count++; // if (pointP12Count % 2 == 0) // CarrierItemList.Where(s => s.No == "12").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "12").FirstOrDefault().IsSelected = true; // break; // case "13": // pointP13Count++; // if (pointP13Count % 2 == 0) // CarrierItemList.Where(s => s.No == "13").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "13").FirstOrDefault().IsSelected = true; // break; // case "14": // pointP14Count++; // if (pointP14Count % 2 == 0) // CarrierItemList.Where(s => s.No == "14").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "14").FirstOrDefault().IsSelected = true; // break; // case "15": // pointP15Count++; // if (pointP15Count % 2 == 0) // CarrierItemList.Where(s => s.No == "15").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "15").FirstOrDefault().IsSelected = true; // break; // case "16": // pointP16Count++; // if (pointP16Count % 2 == 0) // CarrierItemList.Where(s => s.No == "16").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "16").FirstOrDefault().IsSelected = true; // break; // case "17": // pointP17Count++; // if (pointP17Count % 2 == 0) // CarrierItemList.Where(s => s.No == "17").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "17").FirstOrDefault().IsSelected = true; // break; // case "18": // pointP18Count++; // if (pointP18Count % 2 == 0) // CarrierItemList.Where(s => s.No == "18").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "18").FirstOrDefault().IsSelected = true; // break; // default: // break; // } // } // else if (type.StartsWith(ConstantsCommon.M) || type == "None") // { // switch (no) // { // case "1": // pointM1Count++; // if (pointM1Count % 2 == 0) // CarrierItemList.Where(s => s.No == "1").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "1").FirstOrDefault().IsSelected = true; // break; // case "2": // pointM2Count++; // if (pointM2Count % 2 == 0) // CarrierItemList.Where(s => s.No == "2").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "2").FirstOrDefault().IsSelected = true; // break; // case "3": // pointM3Count++; // if (pointM3Count % 2 == 0) // CarrierItemList.Where(s => s.No == "3").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "3").FirstOrDefault().IsSelected = true; // break; // case "4": // pointM4Count++; // if (pointM4Count % 2 == 0) // CarrierItemList.Where(s => s.No == "4").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "4").FirstOrDefault().IsSelected = true; // break; // case "5": // pointM5Count++; // if (pointM5Count % 2 == 0) // CarrierItemList.Where(s => s.No == "5").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "5").FirstOrDefault().IsSelected = true; // break; // case "6": // pointM6Count++; // if (pointM6Count % 2 == 0) // CarrierItemList.Where(s => s.No == "6").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "6").FirstOrDefault().IsSelected = true; // break; // case "7": // pointM7Count++; // if (pointM7Count % 2 == 0) // CarrierItemList.Where(s => s.No == "7").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "7").FirstOrDefault().IsSelected = true; // break; // case "8": // pointM8Count++; // if (pointM8Count % 2 == 0) // CarrierItemList.Where(s => s.No == "8").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "8").FirstOrDefault().IsSelected = true; // break; // case "9": // pointM9Count++; // if (pointM9Count % 2 == 0) // CarrierItemList.Where(s => s.No == "9").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "9").FirstOrDefault().IsSelected = true; // break; // case "10": // pointM10Count++; // if (pointM10Count % 2 == 0) // CarrierItemList.Where(s => s.No == "10").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "10").FirstOrDefault().IsSelected = true; // break; // case "11": // pointM11Count++; // if (pointM11Count % 2 == 0) // CarrierItemList.Where(s => s.No == "11").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "11").FirstOrDefault().IsSelected = true; // break; // case "12": // pointM12Count++; // if (pointM12Count % 2 == 0) // CarrierItemList.Where(s => s.No == "12").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "12").FirstOrDefault().IsSelected = true; // break; // case "13": // pointM13Count++; // if (pointM13Count % 2 == 0) // CarrierItemList.Where(s => s.No == "13").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "13").FirstOrDefault().IsSelected = true; // break; // case "14": // pointM14Count++; // if (pointM14Count % 2 == 0) // CarrierItemList.Where(s => s.No == "14").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "14").FirstOrDefault().IsSelected = true; // break; // case "15": // pointM15Count++; // if (pointM15Count % 2 == 0) // CarrierItemList.Where(s => s.No == "15").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "15").FirstOrDefault().IsSelected = true; // break; // case "16": // pointM16Count++; // if (pointM16Count % 2 == 0) // CarrierItemList.Where(s => s.No == "16").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "16").FirstOrDefault().IsSelected = true; // break; // case "17": // pointM17Count++; // if (pointM17Count % 2 == 0) // CarrierItemList.Where(s => s.No == "17").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "17").FirstOrDefault().IsSelected = true; // break; // case "18": // pointM18Count++; // if (pointM18Count % 2 == 0) // CarrierItemList.Where(s => s.No == "18").FirstOrDefault().IsSelected = false; // else // CarrierItemList.Where(s => s.No == "18").FirstOrDefault().IsSelected = true; // break; // default: // break; // } // } //} public void EXECCmd() { SelectCarrierItemList.Clear(); foreach (CarrierMaterialInformation item in CarrierItemList) { if (item.IsSelected) SelectCarrierItemList.Add(item); } ((Window)GetView()).DialogResult = true; } public void ClosedCmd() { (GetView() as Window).Close(); } } }