public DuplicateArayuzPopupWindow(int cihazTipId, AgArayuzu selectedAgArayuzu, GucArayuzu selectedGucArayuzu, List <string> portList) { this.selectedAgArayuzu = selectedAgArayuzu; this.selectedGucArayuzu = selectedGucArayuzu; this.cihazTipId = cihazTipId; InitializeComponent(); PortListBox.ItemsSource = portList; }
private void Save_DuplicateArayuzPopup(object sender, RoutedEventArgs e) { var selectedItems = PortListBox.SelectedItems.Cast <string>(); if (selectedAgArayuzu != null) { int count = 1; foreach (var selectedItem in selectedItems) { AgArayuzu arayuz = new AgArayuzu(); arayuz.Adi = selectedAgArayuzu.Adi + " " + count; arayuz.Port = selectedItem; arayuz.FizikselOrtamId = selectedAgArayuzu.FizikselOrtamId; arayuz.KapasiteId = selectedAgArayuzu.KapasiteId; arayuz.KullanimAmaciId = selectedAgArayuzu.KullanimAmaciId; arayuz.KL_KullanimAmaci = selectedAgArayuzu.KullanimAmaciList.Where(kal => kal.Id == selectedAgArayuzu.KullanimAmaciId).FirstOrDefault(); arayuz.KL_Kapasite = selectedAgArayuzu.KapasiteList.Where(kl => kl.Id == selectedAgArayuzu.KapasiteId).FirstOrDefault(); arayuz.KL_FizikselOrtam = selectedAgArayuzu.FizikselOrtamList.Where(fo => fo.Id == selectedAgArayuzu.FizikselOrtamId).FirstOrDefault(); arayuz.KullanimAmaciList = selectedAgArayuzu.KullanimAmaciList; arayuz.FizikselOrtamList = selectedAgArayuzu.FizikselOrtamList; arayuz.KapasiteList = selectedAgArayuzu.KapasiteList; if (this.cihazTipId == (int)TipEnum.UcBirim) { UcBirimPopupWindow popup = Owner as UcBirimPopupWindow; arayuz.TipId = (int)TipEnum.UcBirimAgArayuzu; popup.agArayuzuList.Add(arayuz); popup.UpdateAgArayuzuTable(); } else if (this.cihazTipId == (int)TipEnum.AgAnahtari) { AgAnahtariPopupWindow popup = Owner as AgAnahtariPopupWindow; arayuz.TipId = (int)TipEnum.AgAnahtariAgArayuzu; popup.agArayuzuList.Add(arayuz); popup.UpdateAgArayuzuTable(); } count++; } } else { bool eklenemeyenVarMi = false; int count = 1; foreach (var selectedItem in selectedItems) { GucArayuzu arayuz = new GucArayuzu(); arayuz.Adi = selectedGucArayuzu.Adi + " " + count; arayuz.Port = selectedItem; arayuz.CiktiDuraganGerilimDegeri = selectedGucArayuzu.CiktiDuraganGerilimDegeri; arayuz.CiktiUrettigiGucKapasitesi = selectedGucArayuzu.CiktiUrettigiGucKapasitesi; arayuz.GirdiDuraganGerilimDegeri1 = selectedGucArayuzu.GirdiDuraganGerilimDegeri1; arayuz.GirdiDuraganGerilimDegeri2 = selectedGucArayuzu.GirdiDuraganGerilimDegeri2; arayuz.GirdiDuraganGerilimDegeri3 = selectedGucArayuzu.GirdiDuraganGerilimDegeri3; arayuz.GirdiMaksimumGerilimDegeri = selectedGucArayuzu.GirdiMaksimumGerilimDegeri; arayuz.GirdiMinimumGerilimDegeri = selectedGucArayuzu.GirdiMinimumGerilimDegeri; arayuz.GirdiTukettigiGucMiktari = selectedGucArayuzu.GirdiTukettigiGucMiktari; arayuz.GerilimTipiId = selectedGucArayuzu.GerilimTipiId; arayuz.KullanimAmaciId = selectedGucArayuzu.KullanimAmaciId; arayuz.KL_KullanimAmaci = selectedGucArayuzu.KullanimAmaciList.Where(kal => kal.Id == selectedGucArayuzu.KullanimAmaciId).FirstOrDefault(); arayuz.KL_GerilimTipi = selectedGucArayuzu.GerilimTipiList.Where(gt => gt.Id == selectedGucArayuzu.GerilimTipiId).FirstOrDefault(); arayuz.KullanimAmaciList = selectedGucArayuzu.KullanimAmaciList; arayuz.GerilimTipiList = selectedGucArayuzu.GerilimTipiList; if (this.cihazTipId == (int)TipEnum.UcBirim) { UcBirimPopupWindow popup = Owner as UcBirimPopupWindow; arayuz.TipId = (int)TipEnum.UcBirimGucArayuzu; popup.gucArayuzuList.Add(arayuz); popup.UpdateGucArayuzuTable(); } else if (this.cihazTipId == (int)TipEnum.AgAnahtari) { AgAnahtariPopupWindow popup = Owner as AgAnahtariPopupWindow; arayuz.TipId = (int)TipEnum.AgAnahtariGucArayuzu; popup.gucArayuzuList.Add(arayuz); popup.UpdateGucArayuzuTable(); } else if (this.cihazTipId == (int)TipEnum.GucUretici) { bool flag = false; GucUreticiPopupWindow popup = Owner as GucUreticiPopupWindow; if (arayuz.KullanimAmaciId == (int)KullanimAmaciEnum.Cikti) { if (popup.gucArayuzuList.Where(x => x.KullanimAmaciId == (int)KullanimAmaciEnum.Girdi).Any()) { var totalGirdiKpasitesi = popup.gucArayuzuList.Where(x => x.KullanimAmaciId == (int)KullanimAmaciEnum.Girdi).Select(s => s.GirdiTukettigiGucMiktari).Sum(); var totalCiktiKpasitesi = popup.gucArayuzuList.Where(x => x.KullanimAmaciId == (int)KullanimAmaciEnum.Cikti).Select(s => s.CiktiUrettigiGucKapasitesi).Sum() + arayuz.CiktiUrettigiGucKapasitesi; if (totalCiktiKpasitesi <= totalGirdiKpasitesi) { flag = true; } } else { flag = true; } } if (flag) { arayuz.TipId = (int)TipEnum.GucUreticiGucArayuzu; popup.gucArayuzuList.Add(arayuz); popup.UpdateGucArayuzuTable(); } else { eklenemeyenVarMi = true; } } count++; } if (eklenemeyenVarMi) { NotifyInfoPopup nfp = new NotifyInfoPopup(); nfp.msg.Text = "Toplam girdi güç kapasitesi aşıldığı için bazı güç arayüzleri eklenemedi!"; nfp.Owner = Owner; nfp.Show(); } } ClosePopup(); }