//tegel regels
        //normaal
        private void BewerkingTegelRegel(SubCatPerPakket scpp, Product tegel, ExtraMeters accentInfo)
        {
            //not sure if true

            var nRegel = new NabewerkingUiRegel
            {
                Meters           = accentInfo != null ? accentInfo.Meters :scpp.TotaalMeters,
                Eenheid          = GetEenheid(tegel.LinkedSubCat),
                InfoText         = tegel.Omschrijving.Split('€')[0],
                IsBasis          = accentInfo == null,
                SubCat           = accentInfo != null ? accentInfo.LinkedSubCat :scpp.SubCatNR,
                bewerkingenVoeg  = scpp.Children.OfType <Nabewerking>().Where(x => x.BewerkingCat_NR == "NC1").ToList(),
                bewerkingVerwerk = scpp.Children.OfType <Nabewerking>().Where(x => x.BewerkingCat_NR == "NC2").ToList(),
                ProductId        = tegel.ID
            };

            foreach (var nb in nRegel.bewerkingenVoeg)
            {
                nb.Kenmerk = tegel.ID + nRegel.SubCat;
            }
            foreach (var nb in nRegel.bewerkingVerwerk)
            {
                nb.Kenmerk = tegel.ID + nRegel.SubCat;
            }
            UiRegelCollection.Add(nRegel);
        }
        //dorpel regels
        //normaal
        private void BewerkingDorpelRegel(SubCatPerPakket scpp, Product dorpel, ExtraMeters accentInfo)
        {
            var nRegel = new NabewerkingUiRegel
            {
                Meters   = accentInfo != null ? accentInfo.Meters : scpp.TotaalMeters,
                Eenheid  = GetEenheid(dorpel.LinkedSubCat),
                InfoText = dorpel.Omschrijving.Split('€')[0],
                IsBasis  = accentInfo == null,
                SubCat   = accentInfo != null ? accentInfo.LinkedSubCat : scpp.SubCatNR
            };

            UiRegelCollection.Add(nRegel);
        }
Beispiel #3
0
        public static AdvancedTegelSubCatInfo GetNewAccentModel(SubCatPerPakket subc, Product gekozenTegel, double totaalMeters)
        {
            //
            var ctx  = Acumulator.Instance().ctx;
            var data = new AdvancedTegelSubCatInfo();

            data.TotaalMeters = totaalMeters;
            var HC = (from cc in ctx.Categorieëns
                      where cc.C_ID == subc.CategorieNR
                      select cc.HC_NR).FirstOrDefault();

            data.HCNR     = HC;
            data.SubCatNR = subc.SubCatNR;
            var sctitle = (from c in ctx.HoofdCategorieëns
                           where c.HC_ID == HC
                           select c.Omschrijving).FirstOrDefault().ToString();

            data.SubCatTitle = sctitle;

            var prodCheck = (from vapp in ctx.VrijAccentProductInfos
                             where vapp.PD_NR == gekozenTegel.ID &&
                             vapp.HC_NR == HC
                             select vapp).FirstOrDefault();

            if (prodCheck != null)
            {
                var ppm = (from acprod in ctx.VrijAccentProductInfos
                           where acprod.PD_NR == gekozenTegel.ID &&
                           acprod.HC_NR == HC
                           select(from or in acprod.AccentSetOpbouw
                                  where or.VrijAccentRegel_NR == or.VrijAccentProductInfo.VAPP_ID
                                  select or.Prijs).FirstOrDefault()).FirstOrDefault();
                data.BasisTegel = new AdvancedTegelInfo
                {
                    ImgPath           = gekozenTegel.ImgPath,
                    TegelOmschrijving = gekozenTegel.Omschrijving,
                    TegelDetails      = gekozenTegel.Naam,
                    InwisselPrijs     = (double)ppm,
                    PrijsPerMeter     = (double)ppm - (double)ppm,
                    InstapPrijs       = 0.0,
                    IsGekozen         = true,
                    ProductId         = gekozenTegel.ID,
                    Lengte            = gekozenTegel.Lengte,
                    Breedte           = gekozenTegel.Breedte,
                    NSNR = (from acprod in ctx.VrijAccentProductInfos
                            where acprod.PD_NR == gekozenTegel.ID &&
                            acprod.HC_NR == HC
                            select acprod.NS_NR).FirstOrDefault(),
                    ProdSoort = HC != "HC6" ? ProductSoort.Tegel : ProductSoort.Dorpel
                };



                if (HC == null)
                {
                    return(null);
                }
                if (Acumulator.Instance().BB.HuidigRuimte == null || Acumulator.Instance().BB.HuidigRuimte.GekozenPakket == null)
                {
                    return(null);
                }

                var validpdinf = (from prds in ctx.VrijAccentProductInfos
                                  where prds.HC_NR == HC &&
                                  prds.PD_NR != data.BasisTegel.ProductId
                                  select prds);
                if (validpdinf == null || validpdinf.Count() <= 0)
                {
                    return(null);
                }
                data.TegelInput = validpdinf;

                var atiList = GetTegelColl(validpdinf, (double)ppm, data.BasisTegel.ProdSoort);
                atiList.Insert(0, data.BasisTegel);
                // atiList.Reverse();
                var eh = (from x in ctx.SubCats
                          where x.SCB_ID == subc.SubCatNR
                          select x.eenheidMETERS).FirstOrDefault().ToString();
                data.Regels = new ObservableCollection <AdvancedVervangRegel>
                {
                    new AdvancedVervangRegel
                    {
                        GekozenTegel = data.BasisTegel,
                        Status       = StatusType.Basis,
                        RegelIndex   = 0,
                        VervangInfo  = new AdvancedVervangActie
                        {
                            Wijzigstand   = false,
                            GekozenMeters = data.TotaalMeters,
                            //Opmerking ="Standaard keuze uit pakket",
                            Tegels = atiList
                        },
                        Eenheid = eh
                    },
                    AdvancedVervangRegel.GetNewTegelRegel(GetTegelColl(validpdinf, (double)ppm, ProductSoort.Tegel), 1, eh)
                };

                //
                return(data);
            }
            else
            {
                return(null);
            }
        }