Пример #1
0
        private void Save_AgAnahtariTur(object sender, RoutedEventArgs e)
        {
            NotificationManager notificationManager = new NotificationManager();

            var validationContext = new ValidationContext(agAnahtariTur, null, null);
            var results           = new List <System.ComponentModel.DataAnnotations.ValidationResult>();

            if (Validator.TryValidateObject(agAnahtariTur, validationContext, results, true))
            {
                var response = service.SaveAgAnahtariTur(agAnahtariTur);

                if (!response.HasError)
                {
                    NotifySuccessPopup nfp = new NotifySuccessPopup();
                    nfp.msg.Text = response.Message;
                    nfp.Owner    = Owner;
                    nfp.Show();

                    Close();
                    Owner.IsEnabled = true;
                    Owner.Effect    = null;
                }
                else
                {
                    if (response.HasWarning)
                    {
                        NotifyInfoPopup nfp = new NotifyInfoPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();
                    }
                    else
                    {
                        NotifyWarningPopup nfp = new NotifyWarningPopup();
                        nfp.msg.Text = "İşlem başarısız oldu.";
                        nfp.Owner    = Owner;
                        nfp.Show();
                    }
                }
            }
            else
            {
                foreach (var result in results)
                {
                    foreach (var memberName in result.MemberNames)
                    {
                        if (memberName == "Ad")
                        {
                            Ad.BorderBrush = new SolidColorBrush(Colors.Red);
                        }
                    }
                }
            }
        }
        private void Rename(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(Ad.Text))
            {
                bool flag = true;
                foreach (var node in selectedNodes.First().NodesCanvas.Nodes.Items)
                {
                    string temp = "";

                    if (node.Name.Contains("#"))
                    {
                        temp = node.Name.Substring(0, node.Name.IndexOf("#") - 1);
                    }
                    else
                    {
                        temp = node.Name;
                    }

                    if (temp.ToLower() == Ad.Text.ToLower())
                    {
                        flag = false;
                        break;
                    }
                }

                if (flag)
                {
                    selectedNodes.First().Name = Ad.Text + " #1";

                    if (selectedNodes.First().TypeId == (int)TipEnum.Group)
                    {
                        var group = selectedNodes.First().NodesCanvas.GroupList.Where(x => x.UniqueId == selectedNodes.First().UniqueId).FirstOrDefault();
                        group.Name = selectedNodes.First().Name;
                    }


                    ClosePopup();
                }
                else
                {
                    NotifyInfoPopup nfp = new NotifyInfoPopup();
                    nfp.msg.Text = "Aynı isimle tanımlı bir cihaz bulunmaktadır.";
                    nfp.Owner    = this;
                    nfp.Show();
                }
            }
            else
            {
                Ad.BorderBrush = new SolidColorBrush(Colors.Red);
            }
        }
        private void IliskiliGirdi_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (GirdiComboBox.ItemsSource != null)
            {
                agAkis.IliskiliAgArayuzuId      = ((ConnectorViewModel)GirdiComboBox.SelectedItem).UniqueId;
                GelenAgAkisComboBox.ItemsSource = null;
                girdiList.Clear();
                var agAkisList = this.agAnahtariAgArayuzu.Node.InputList.Where(x => x.UniqueId == agAkis.IliskiliAgArayuzuId).Select(s => s.AgAkisList).FirstOrDefault();

                if (agAkisList != null && agAkisList.Count() > 0)
                {
                    agAkis.FromNodeUniqueId = agAkisList.First().FromNodeUniqueId;

                    foreach (var agAkisItem in agAkisList)
                    {
                        if (!((agAkisItem.AgAkisTipiId == (int)AgAkisTipEnum.Broadcast || agAkisItem.AgAkisTipiId == (int)AgAkisTipEnum.Multicast) && agAnahtariAgArayuzu.AgAkisList.Where(x => x.IliskiliAgArayuzuAgAkisId == agAkisItem.Id).Any()))
                        {
                            girdiList.Add(new GuidKodListModel
                            {
                                Ad = this.agAnahtariAgArayuzu.NodesCanvas.Nodes.Items.Where(x => x.UniqueId == agAkisItem.FromNodeUniqueId).Select(s => s.Name).FirstOrDefault() + " " + agAkisItem.AgAkisTipiAdi + " " + agAkisItem.Yuk + " mbps",
                                Id = agAkisItem.Id
                            });
                        }
                    }
                }
                else
                {
                    agAkis.FromNodeUniqueId = null;
                }

                GelenAgAkisComboBox.ItemsSource = girdiList;

                if (girdiList.Count > 0)
                {
                    GelenAgAkisComboBox.SelectedItem = girdiList.First();
                    agAkis.IliskiliAgArayuzuAgAkisId = girdiList.First().Id;
                }
                else
                {
                    NotifyInfoPopup nfp = new NotifyInfoPopup();
                    nfp.msg.Text = "Seçtiğiniz ağ arayüzü girdisine ait tanımlanmış bir ağ akışı bulunmamaktadır!";
                    nfp.Owner    = Owner;
                    nfp.Show();

                    GelenAgAkisComboBox.SelectedItem = null;
                }
            }
        }
Пример #4
0
        private void Save_Popup(object sender, RoutedEventArgs e)
        {
            var selectedAgArayuzInputItems   = new List <ConnectorViewModel>();
            var selectedGucArayuzInputItems  = new List <ConnectorViewModel>();
            var selectedAgArayuzOutputItems  = new List <ConnectorViewModel>();
            var selectedGucArayuzOutputItems = new List <ConnectorViewModel>();

            selectedAgArayuzInputItems.AddRange(GirdiAgArayuzListBox.SelectedItems.Cast <ConnectorViewModel>());
            selectedGucArayuzInputItems.AddRange(GirdiGucArayuzListBox.SelectedItems.Cast <ConnectorViewModel>());
            selectedAgArayuzOutputItems.AddRange(CiktiAgArayuzListBox.SelectedItems.Cast <ConnectorViewModel>());
            selectedGucArayuzOutputItems.AddRange(CiktiGucArayuzListBox.SelectedItems.Cast <ConnectorViewModel>());

            if (selectedAgArayuzInputItems.Count > 0 || selectedGucArayuzInputItems.Count > 0 || selectedAgArayuzOutputItems.Count > 0 || selectedGucArayuzOutputItems.Count > 0)
            {
                var agInputs = this.node.InputList.Where(x => x.TypeId == (int)TipEnum.AgAnahtariAgArayuzu || x.TypeId == (int)TipEnum.UcBirimAgArayuzu).ToList();
                agInputs = agInputs.Union(selectedAgArayuzInputItems).ToList();

                var gucInputs = this.node.InputList.Where(x => x.TypeId == (int)TipEnum.AgAnahtariGucArayuzu || x.TypeId == (int)TipEnum.UcBirimGucArayuzu || x.TypeId == (int)TipEnum.GucUreticiGucArayuzu).ToList();
                gucInputs = gucInputs.Union(selectedGucArayuzInputItems).ToList();

                var agOutputs = this.node.Transitions.Items.Where(x => x.TypeId == (int)TipEnum.AgAnahtariAgArayuzu || x.TypeId == (int)TipEnum.UcBirimAgArayuzu).ToList();
                agOutputs = agOutputs.Union(selectedAgArayuzOutputItems).ToList();

                var gucOutputs = this.node.Transitions.Items.Where(x => x.TypeId == (int)TipEnum.AgAnahtariGucArayuzu || x.TypeId == (int)TipEnum.UcBirimGucArayuzu || x.TypeId == (int)TipEnum.GucUreticiGucArayuzu).ToList();
                gucOutputs = gucOutputs.Union(selectedGucArayuzOutputItems).ToList();

                this.node.InputList   = new List <ConnectorViewModel>();
                this.node.OutputList  = new List <ConnectorViewModel>();
                this.node.Transitions = new SourceList <ConnectorViewModel>();

                NodeViewModel newNode = new NodeViewModel(this.node.NodesCanvas, this.node.Name, this.node.UniqueId, new Point(), 0, 9);

                var inputList        = new List <ConnectorViewModel>();
                var outputList       = new List <ConnectorViewModel>();
                var connctesToDelete = new List <ConnectViewModel>();
                var connctesToAdd    = new List <ConnectViewModel>();

                int i = 0;
                foreach (var input in agInputs)
                {
                    var inputMain = new ConnectorViewModel(input.NodesCanvas, newNode, input.Name, newNode.Point1.Addition(0, 30 + (i * 20)), input.UniqueId, input.KapasiteId, input.MinKapasite, input.MaxKapasite, input.FizikselOrtamId, null, input.KullanimAmaciId, null, null, null, null, null, null, null, null, input.Label, input.TypeId, input.Id, input.Port, null);
                    inputMain.AgAkisList = input.AgAkisList;
                    inputList.Add(inputMain);
                    i++;

                    var oldConnect = this.node.NodesCanvas.Connects.Where(x => x.ToConnector == input).FirstOrDefault();
                    if (oldConnect != null)
                    {
                        connctesToDelete.Add(oldConnect);
                        ConnectViewModel newConnect = new ConnectViewModel(this.node.NodesCanvas, oldConnect.FromConnector);
                        newConnect.AgYuku            = oldConnect.AgYuku;
                        newConnect.KabloKesitOnerisi = oldConnect.KabloKesitOnerisi;
                        newConnect.GucMiktari        = oldConnect.GucMiktari;
                        newConnect.Uzunluk           = oldConnect.Uzunluk;
                        newConnect.ToConnector       = inputMain;
                        connctesToAdd.Add(newConnect);
                    }
                }

                int count = i;
                i = 0;
                foreach (var input in gucInputs)
                {
                    var inputMain = new ConnectorViewModel(input.NodesCanvas, newNode, input.Name, newNode.Point1.Addition(0, 30 + ((i + count) * 20)), input.UniqueId, null, null, null, null, input.GerilimTipiId, input.KullanimAmaciId,
                                                           input.GirdiDuraganGerilimDegeri1, input.GirdiDuraganGerilimDegeri2, input.GirdiDuraganGerilimDegeri3, input.GirdiMinimumGerilimDegeri, input.GirdiMaksimumGerilimDegeri, input.GirdiTukettigiGucMiktari,
                                                           input.CiktiDuraganGerilimDegeri, input.CiktiUrettigiGucKapasitesi, input.Label, input.TypeId, input.Id, input.Port, null);

                    inputList.Add(inputMain);
                    i++;

                    var oldConnect = this.node.NodesCanvas.Connects.Where(x => x.ToConnector == input).FirstOrDefault();
                    if (oldConnect != null)
                    {
                        connctesToDelete.Add(oldConnect);
                        ConnectViewModel newConnect = new ConnectViewModel(this.node.NodesCanvas, oldConnect.FromConnector);
                        newConnect.AgYuku            = oldConnect.AgYuku;
                        newConnect.KabloKesitOnerisi = oldConnect.KabloKesitOnerisi;
                        newConnect.GucMiktari        = oldConnect.GucMiktari;
                        newConnect.Uzunluk           = oldConnect.Uzunluk;
                        newConnect.ToConnector       = inputMain;
                        connctesToAdd.Add(newConnect);
                    }
                }

                i = 0;
                foreach (var output in agOutputs)
                {
                    var outputMain = new ConnectorViewModel(output.NodesCanvas, newNode, output.Name, newNode.Point1.Addition(80, 54 + (i * 20)), output.UniqueId, output.KapasiteId, output.MinKapasite, output.MaxKapasite, output.FizikselOrtamId, null, output.KullanimAmaciId, null, null, null, null, null, null, null, null, output.Label, output.TypeId, output.Id, output.Port)
                    {
                        Visible = null
                    };

                    outputMain.AgAkisList    = output.AgAkisList;
                    outputMain.KalanKapasite = output.KalanKapasite;
                    i++;
                    outputList.Add(outputMain);

                    var oldConnect = this.node.NodesCanvas.Connects.Where(x => x.FromConnector == output).FirstOrDefault();
                    if (oldConnect != null)
                    {
                        connctesToDelete.Add(oldConnect);
                        ConnectViewModel newConnect = new ConnectViewModel(this.node.NodesCanvas, outputMain);
                        newConnect.AgYuku            = oldConnect.AgYuku;
                        newConnect.KabloKesitOnerisi = oldConnect.KabloKesitOnerisi;
                        newConnect.GucMiktari        = oldConnect.GucMiktari;
                        newConnect.Uzunluk           = oldConnect.Uzunluk;
                        newConnect.ToConnector       = oldConnect.ToConnector;
                        connctesToAdd.Add(newConnect);
                    }
                }

                count = i;
                i     = 0;
                foreach (var output in gucOutputs)
                {
                    var outputMain = new ConnectorViewModel(output.NodesCanvas, newNode, output.Name, newNode.Point1.Addition(80, 54 + ((i + count) * 20)), output.UniqueId, null, null, null, null, output.GerilimTipiId, output.KullanimAmaciId,
                                                            output.GirdiDuraganGerilimDegeri1, output.GirdiDuraganGerilimDegeri2, output.GirdiDuraganGerilimDegeri3, output.GirdiMinimumGerilimDegeri, output.GirdiMaksimumGerilimDegeri, output.GirdiTukettigiGucMiktari,
                                                            output.CiktiDuraganGerilimDegeri, output.CiktiUrettigiGucKapasitesi, output.Label, output.TypeId, output.Id, output.Port)
                    {
                        Visible = null
                    };

                    if (output.TypeId == (int)TipEnum.GucUreticiGucArayuzu && output.KullanimAmaciId == (int)KullanimAmaciEnum.Cikti)
                    {
                        outputMain.KalanKapasite = output.KalanKapasite;
                    }

                    i++;
                    outputList.Add(outputMain);

                    var oldConnect = this.node.NodesCanvas.Connects.Where(x => x.FromConnector == output).FirstOrDefault();
                    if (oldConnect != null)
                    {
                        connctesToDelete.Add(oldConnect);
                        ConnectViewModel newConnect = new ConnectViewModel(this.node.NodesCanvas, outputMain);
                        newConnect.AgYuku            = oldConnect.AgYuku;
                        newConnect.KabloKesitOnerisi = oldConnect.KabloKesitOnerisi;
                        newConnect.GucMiktari        = oldConnect.GucMiktari;
                        newConnect.Uzunluk           = oldConnect.Uzunluk;
                        newConnect.ToConnector       = oldConnect.ToConnector;
                        connctesToAdd.Add(newConnect);
                    }
                }

                this.node.NodesCanvas.Connects.Remove(connctesToDelete);
                this.node.NodesCanvas.Connects.Add(connctesToAdd);

                newNode.InputList  = inputList;
                newNode.OutputList = outputList;
                newNode.AddEmptyConnector();

                this.node.NodesCanvas.Nodes.Remove(this.node);
                this.node.NodesCanvas.Nodes.Add(newNode);
                this.group.InputList  = newNode.InputList;
                this.group.OutputList = newNode.OutputList;
                ClosePopup();
            }
            else
            {
                NotifyInfoPopup nfp = new NotifyInfoPopup();
                nfp.msg.Text = "Lütfen, en az bir arayüz seçiniz.";
                nfp.Owner    = Owner;
                nfp.Show();
            }
        }
        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();
        }
        private void ButtonAddAgAkis_Click(object sender, RoutedEventArgs e)
        {
            var validationContext = new ValidationContext(agAkis, null, null);
            var results           = new List <System.ComponentModel.DataAnnotations.ValidationResult>();

            if (Validator.TryValidateObject(agAkis, validationContext, results, true))
            {
                var inputToplamAgYuku = this.agAnahtariAgArayuzu.Node.InputList.Where(x => x.UniqueId == agAkis.IliskiliAgArayuzuId).Select(s => s.AgAkisList.Select(k => k.Yuk).Sum()).FirstOrDefault();
                if (inputToplamAgYuku != 0)
                {
                    bool broadcastValid = true;
                    bool unicastValid   = true;

                    if ((agAkis.AgAkisTipiId == (int)AgAkisTipEnum.Broadcast || agAkis.AgAkisTipiId == (int)AgAkisTipEnum.Multicast) && agAnahtariAgArayuzu.AgAkisList.Where(x => x.IliskiliAgArayuzuAgAkisId == agAkis.IliskiliAgArayuzuAgAkisId).Any())
                    {
                        broadcastValid = false;
                    }
                    else
                    {
                        decimal unicastTotal = 0;
                        if (agAkis.AgAkisTipiId == (int)AgAkisTipEnum.Unicast)
                        {
                            if (!string.IsNullOrEmpty(Yuk.Text))
                            {
                                agAkis.Yuk = Convert.ToDecimal(Yuk.Text);
                                var definedUnicastTotal = this.agAnahtariAgArayuzu.Node.InputList.Where(x => x.UniqueId == agAkis.IliskiliAgArayuzuId).Select(s => s.AgAkisList.Where(a => a.Id == agAkis.IliskiliAgArayuzuAgAkisId).Select(k => k.Yuk).Sum()).FirstOrDefault();

                                unicastTotal  = agAnahtariAgArayuzu.AgAkisList.Where(x => x.IliskiliAgArayuzuAgAkisId == agAkis.IliskiliAgArayuzuAgAkisId).Select(s => s.Yuk).FirstOrDefault();
                                unicastTotal += agAkis.Yuk;

                                if (unicastTotal > definedUnicastTotal)
                                {
                                    unicastValid = false;
                                }
                            }
                            else
                            {
                                agAkis.Yuk = 0;
                            }
                        }
                    }
                    if (unicastValid && broadcastValid)
                    {
                        decimal total = 0;
                        if (checkedAgAkisRow != null)
                        {
                            var ctx = checkedAgAkisRow.DataContext;
                            var obj = (AgAkis)ctx;

                            total = (this.agAnahtariAgArayuzu.AgAkisList.Select(s => s.Yuk).Sum() + agAkis.Yuk) - obj.Yuk;
                        }
                        else
                        {
                            total = this.agAnahtariAgArayuzu.AgAkisList.Select(s => s.Yuk).Sum() + agAkis.Yuk;
                        }

                        if (this.agAnahtariAgArayuzu.MaxKapasite >= total)
                        {
                            toplam            = total;
                            MainTitle.Content = "Ağ Akışı - " + toplam.ToString("0.##") + " Mbps";

                            if (checkedAgAkisRow != null)
                            {
                                var ctx = checkedAgAkisRow.DataContext;
                                var obj = (AgAkis)ctx;
                                this.agAnahtariAgArayuzu.AgAkisList.Remove(obj);
                                checkedAgAkisRow = null;
                            }

                            BtnAdd.Text   = "Ekle";
                            BtnAdd.Margin = new Thickness(100, 0, 0, 0);

                            AgAkisDataGrid.ItemsSource = null;
                            agAkis.Id                   = Guid.NewGuid();
                            agAkis.AgAkisTipiAdi        = agAkis.AgAkisTipiList.Where(x => x.Id == agAkis.AgAkisTipiId).Select(s => s.Ad).FirstOrDefault();
                            agAkis.IliskiliAgArayuzuAdi = agAkis.InputList.Where(x => x.UniqueId == agAkis.IliskiliAgArayuzuId).Select(s => s.Label).FirstOrDefault();
                            agAkis.FromNodeName         = this.agAnahtariAgArayuzu.NodesCanvas.Nodes.Items.Where(x => x.UniqueId == agAkis.FromNodeUniqueId).Select(s => s.Name).FirstOrDefault();

                            this.agAnahtariAgArayuzu.AgAkisList.Add(agAkis);

                            AgAkisDataGrid.ItemsSource = this.agAnahtariAgArayuzu.AgAkisList;
                            AgAkisDataGrid.Visibility  = Visibility.Visible;
                            AgAkisNoDataRow.Visibility = Visibility.Hidden;

                            agAkis = new AgAkis();
                            agAkis.VarisNoktasiIdNameList   = new List <KeyValuePair <Guid, string> >();
                            agAkis.AgArayuzuId              = this.agAnahtariAgArayuzu.UniqueId;
                            GirdiComboBox.ItemsSource       = null;
                            GelenAgAkisComboBox.ItemsSource = null;
                            AgAkisTipi.ItemsSource          = null;
                            SetAgAkisTipiList();
                            SetAgArayuzuInputList();
                        }
                        else
                        {
                            NotifyInfoPopup nfp = new NotifyInfoPopup();
                            nfp.msg.Text = "Ağın iletebileceği yük kapasitesi " + this.agAnahtariAgArayuzu.MinKapasite + " - " + this.agAnahtariAgArayuzu.MaxKapasite + " Mbps arasında olmalıdır!";
                            nfp.Owner    = Owner;
                            nfp.Show();
                        }
                    }
                    else
                    {
                        if (!broadcastValid)
                        {
                            NotifyInfoPopup nfp = new NotifyInfoPopup();
                            nfp.msg.Text = "Seçtiğiniz ağ akışı için daha önce kayıt yapılmıştır!";
                            nfp.Owner    = Owner;
                            nfp.Show();
                        }

                        if (!unicastValid)
                        {
                            NotifyInfoPopup nfp = new NotifyInfoPopup();
                            nfp.msg.Text = "Unicast ağ akışının toplam kapasitesini aştınız!";
                            nfp.Owner    = Owner;
                            nfp.Show();
                        }
                    }
                }
                else
                {
                    NotifyInfoPopup nfp = new NotifyInfoPopup();
                    nfp.msg.Text = "Seçtiğiniz girdi için ağ akışı tanımlaması yapılmadığı için, bu girdi için ağ akışı tanımlanamz.";
                    nfp.Owner    = Owner;
                    nfp.Show();
                }
            }
            else
            {
                foreach (var result in results)
                {
                    foreach (var memberName in result.MemberNames)
                    {
                        if (memberName == "Yuk")
                        {
                            Yuk.BorderBrush = new SolidColorBrush(Colors.Red);
                        }
                    }
                }
            }
        }
        private void Save_TopluEdit(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(Uretici.Text) || !string.IsNullOrEmpty(UreticiParcaNo.Text) || !string.IsNullOrEmpty(Sembol.Text))
            {
                if (cihazTur == (int)TipEnum.UcBirim)
                {
                    var response = serviceUcBirim.SaveTopluEdit(selectedIds, Uretici.Text, UreticiParcaNo.Text, sembolDosyaAdi, sembol);

                    if (!response.HasError)
                    {
                        NotifySuccessPopup nfp = new NotifySuccessPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();

                        (Owner as MainWindow).ListUcBirim();
                        ClosePopup();
                    }
                    else
                    {
                        NotifyWarningPopup nfp = new NotifyWarningPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();
                    }
                }
                else if (cihazTur == (int)TipEnum.AgAnahtari)
                {
                    var response = serviceAgAnahtari.SaveTopluEdit(selectedIds, Uretici.Text, UreticiParcaNo.Text, sembolDosyaAdi, sembol);

                    if (!response.HasError)
                    {
                        NotifySuccessPopup nfp = new NotifySuccessPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();

                        (Owner as MainWindow).ListAgAnahtari();
                        ClosePopup();
                    }
                    else
                    {
                        NotifyWarningPopup nfp = new NotifyWarningPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();
                    }
                }
                else if (cihazTur == (int)TipEnum.GucUretici)
                {
                    var response = serviceGucUreticisi.SaveTopluEdit(selectedIds, Uretici.Text, UreticiParcaNo.Text, sembolDosyaAdi, sembol);

                    if (!response.HasError)
                    {
                        NotifySuccessPopup nfp = new NotifySuccessPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();

                        (Owner as MainWindow).ListGucUretici();
                        ClosePopup();
                    }
                    else
                    {
                        NotifyWarningPopup nfp = new NotifyWarningPopup();
                        nfp.msg.Text = response.Message;
                        nfp.Owner    = Owner;
                        nfp.Show();
                    }
                }
            }
            else
            {
                NotifyInfoPopup nfp = new NotifyInfoPopup();
                nfp.msg.Text = "Lütfen alanlardan en az biri için değer giriniz.";
                nfp.Owner    = Owner;
                nfp.Show();
            }
        }