Exemplo n.º 1
0
        private void AddRemoveBtn_Click(object sender, RoutedEventArgs e)
        {
            DependencyObject tvi = null;
            var button           = sender as Button;
            //walk up the tree to find the ListboxItem
            var mic = sender as MetersInvoerControl;

            if (button != null)
            {
                tvi = findParentTreeItem(button, typeof(ListBoxItem));
            }
            else
            {
                tvi = findParentTreeItem(mic, typeof(ListBoxItem));
            }
            //if not null cast the Dependancy object to type of Listbox item.
            if (tvi != null)
            {
                ListBoxItem lbi = tvi as ListBoxItem;
                //select it.
                lbi.IsSelected = true;
            }

            var regel = AccentenListBox.SelectedItem as AdvancedVervangRegel;



            if (regel != null && regel.Status == StatusType.Leeg)
            {
                regel.Status = StatusType.Toevoeging;

                var nwRegel = AdvancedVervangRegel.GetNewTegelRegel(AdvancedTegelSubCatInfo.GetTegelColl(InternData.TegelInput, InternData.BasisTegel.InwisselPrijs, InternData.BasisTegel.ProdSoort), InternData.GetFirstFreeIndex(), InternData.Regels.FirstOrDefault().Eenheid);
                InternData.Regels.Add(nwRegel);
                regel.VervangInfo.Wijzigstand = true;
            }
            else if (regel != null && regel.Status == StatusType.Toevoeging)
            {
                InternData.Regels.Remove(regel);
                if (InternData.Regels.Count == 1)
                {
                    InternData.Regels.Add(AdvancedVervangRegel.GetNewTegelRegel(AdvancedTegelSubCatInfo.GetTegelColl(InternData.TegelInput, InternData.BasisTegel.InwisselPrijs, InternData.BasisTegel.ProdSoort), InternData.GetFirstFreeIndex(), InternData.Regels.FirstOrDefault().Eenheid));
                }
                RecalcBasisMeters();
            }
            OnPropertyChanged("CanAddDelete");
        }
Exemplo n.º 2
0
        public void LoadContext(AdvancedTegelSubCatInfo Data)
        {
            InternData  = Data;
            DataContext = this;

            var ruimte = Acumulator.Instance().BB.HuidigRuimte;

            if (ruimte.AanvullendeMeters.Where(a => a.LinkedSubCat == InternData.SubCatNR) != null && ruimte.AanvullendeMeters.Where(a => a.LinkedSubCat == InternData.SubCatNR).ToList().Count > 0)
            {
                Acumulator.Instance().BB.ShowWijzigBtn(true);
                LeesStand = true;

                foreach (var exM in ruimte.AanvullendeMeters)
                {
                    if (exM.LinkedSubCat != InternData.SubCatNR)
                    {
                        continue;
                    }

                    if (exM.RegelIndex == 0)
                    {
                        var basisrgl = InternData.Regels.FirstOrDefault(r => r.Status == StatusType.Basis);
                        if (basisrgl == null)
                        {
                            continue;
                        }
                        //basisrgl.Opmerking = exM.Opmerking;
                        basisrgl.VervangInfo.Opmerking = exM.Opmerking;
                        var bsTgl = basisrgl.VervangInfo.Tegels.FirstOrDefault(t => t.ProdSoort == ProductSoort.Tegel && t.ProductId == exM.LinkedProduct.ID);

                        if (bsTgl != null)
                        {
                            bsTgl.IsGekozen       = true;
                            basisrgl.GekozenTegel = basisrgl.VervangInfo.Tegels.FirstOrDefault(t => t.ProductId == exM.LinkedProduct.ID);
                            continue;
                        }
                        bsTgl = basisrgl.VervangInfo.Tegels.FirstOrDefault(h => h.ProdSoort == ProductSoort.HoekProfiel && h.ProductId == exM.LinkedHoekProf.ProfielID);
                        if (bsTgl != null)
                        {
                            bsTgl.IsGekozen       = true;
                            basisrgl.GekozenTegel = basisrgl.VervangInfo.Tegels.FirstOrDefault(t => t.ProductId == exM.LinkedHoekProf.ProfielID);
                            continue;
                        }
                        bsTgl = basisrgl.VervangInfo.Tegels.FirstOrDefault(d => d.ProdSoort == ProductSoort.Dorpel && d.ProductId == exM.LinkedProduct.ID);
                        if (bsTgl != null)
                        {
                            bsTgl.IsGekozen       = true;
                            basisrgl.GekozenTegel = basisrgl.VervangInfo.Tegels.FirstOrDefault(t => t.ProductId == exM.LinkedProduct.ID);
                            continue;
                        }
                        continue;
                    }

                    AdvancedVervangRegel freshRgl;
                    freshRgl = InternData.Regels.FirstOrDefault(r => r.Status == StatusType.Leeg);
                    if (freshRgl == null)
                    {
                        freshRgl = AdvancedVervangRegel.GetNewTegelRegel(AdvancedTegelSubCatInfo.GetTegelColl(InternData.TegelInput, InternData.BasisTegel.InwisselPrijs, exM.ProdSoort), InternData.GetFirstFreeIndex(), InternData.Regels.FirstOrDefault().Eenheid);
                        InternData.Regels.Add(freshRgl);
                    }
                    freshRgl.Status = StatusType.Toevoeging;
                    freshRgl.VervangInfo.Wijzigstand = false;
                    //freshRgl.Opmerking = exM.Opmerking;
                    freshRgl.VervangInfo.Opmerking = exM.Opmerking;
                    if (exM.LinkedProduct != null)
                    {
                        var tglItem = freshRgl.VervangInfo.Tegels.FirstOrDefault(t => t.ProductId == exM.LinkedProduct.ID);

                        if (tglItem != null)
                        {
                            tglItem.IsGekozen     = true;
                            freshRgl.GekozenTegel = tglItem;
                        }
                    }
                    else if (exM.LinkedHoekProf != null)
                    {
                        var tglItem = freshRgl.VervangInfo.Tegels.FirstOrDefault(t => t.ProductId == exM.LinkedHoekProf.ProfielID);
                        if (tglItem != null)
                        {
                            tglItem.IsGekozen     = true;
                            freshRgl.GekozenTegel = tglItem;
                        }
                    }
                    freshRgl.VervangInfo.GekozenMeters = exM.Meters;

                    var newEmptyrgl = AdvancedVervangRegel.GetNewTegelRegel(AdvancedTegelSubCatInfo.GetTegelColl(InternData.TegelInput, InternData.BasisTegel.InwisselPrijs, exM.ProdSoort), InternData.GetFirstFreeIndex(), InternData.Regels.FirstOrDefault().Eenheid);
                    InternData.Regels.Add(newEmptyrgl);
                    newEmptyrgl.Status = StatusType.Leeg;
                    newEmptyrgl.VervangInfo.Wijzigstand = false;
                }
            }
            RecalcBasisMeters();
            LeesStand = Acumulator.Instance().BB.IsCurrentComplete();
            Acumulator.Instance().BB.ShowWijzigBtn(LeesStand);
        }