Пример #1
0
 private void getpakketprijs(PakketKeuze pk, eBrochureDomainContext ctx)
 {
     if (pk != null)
     {
         double PakketPrijs = 0;
         var    prijzen     = from mpro in ctx.MeerPrijzenRuimteOpties
                              where mpro.PP_NR == pk.PakketPrijsgroep_NR && RuimteHuidig.RuimteID == mpro.R_NR
                              select mpro.meerprijs;
         foreach (decimal mp in prijzen)
         {
             PakketPrijs += (double)mp;
         }
         PakketPrijs    = Acumulator.Instance().BerekenEindPrijs(PakketPrijs);
         pk.PrijsHuidig = PakketPrijs;
     }
 }
Пример #2
0
        private void save_Keuze_Single()
        {
            switch (KeuzeSoort)
            {
            case "Pakket":
                CustomListItem si   = ListBox.Items.Where(it => (it as CustomListItem).Gekozen == true).FirstOrDefault() as CustomListItem;
                PakketKeuze    PakK = RuimteHuidig.Children.Where(pk => pk.GetType() == typeof(PakketKeuze) && (pk as PakketKeuze).Pakket_ID == si.Id).FirstOrDefault() as PakketKeuze;
                RuimteHuidig.GekozenPakket = PakK;
                if (Pakket_Old != null && PakK.Pakket_ID != Pakket_Old.Pakket_ID)
                {
                    RuimteHuidig.GekozenBewerkingen.Clear();
                    RuimteHuidig.GekozenTegels.Clear();
                    RuimteHuidig.GekozenAccenten.Clear();
                    RuimteHuidig.GekozenProfielen.Clear();
                }

                break;

            case "Opties":
                //var ok = Inputlist.Where(I => (I as OptieKeuze).OptieID == (ListBox.Items.Where(p => (p as CustomListItem).Gekozen == true) as CustomListItem).Id) as OptieKeuze;
                foreach (CustomListItem cli in ListBox.Items)
                {
                    var ok = (from k in Inputlist where (k as OptieKeuze).OptieID == cli.Id select k).FirstOrDefault() as OptieKeuze;
                    if (cli.Gekozen == true && !RuimteHuidig.GekozenOpties.Contains(ok))
                    {
                        RuimteHuidig.GekozenOpties.Add(ok);
                        //RuimteHuidig.updateSubcats(ok);
                    }
                    else if (cli.Gekozen == false && RuimteHuidig.GekozenOpties.Contains(ok))
                    {
                        RuimteHuidig.GekozenOpties.Remove(ok);
                        //RuimteHuidig.updateSubcats(null);
                    }
                }
                break;

            case "bewerking":
                var sliTag = (ListBox.Items.Where(s => (s as CustomListItem).Gekozen == true).FirstOrDefault() as CustomListItem).Id;
                var nb     = Inputlist.Where(I => (I as Nabewerking).Nabewerking_ID == sliTag).FirstOrDefault() as Nabewerking;
                //var nb = Inputlist.Where(I => (I as Nabewerking).Nabewerking_ID == (ListBox.Items.Where(p => (p as SingleListItem).IsChecked == true) as SingleListItem).Tag) as Nabewerking;
                RuimteHuidig.GekozenBewerkingen.Add(nb);
                break;

            case "profiel":
                var slitag = (ListBox.Items.Where(s => (s as CustomListItem).Gekozen == true).FirstOrDefault() as CustomListItem).Id;
                var pfl    = Inputlist.Where(I => (I as Product).ID == slitag).FirstOrDefault() as Product;
                //var pfl = Inputlist.Where(I => (I as Product).ID == (ListBox.Items.Where(p => (p as SingleListItem).IsChecked == true) as SingleListItem).Tag) as Product;
                RuimteHuidig.GekozenTegels.Add(pfl);
                break;

            case "Opties_accent":
                OptieKeuze o_a;
                foreach (CustomListItem cli in ListBox.Items)
                {
                    o_a = (from k in Inputlist where (k as OptieKeuze).OptieID == cli.Id select k).FirstOrDefault() as OptieKeuze;
                    if (cli.Gekozen == true)
                    {
                        if (!RuimteHuidig.GekozenOpties.Contains(o_a))
                        {
                            RuimteHuidig.GekozenOpties.Add(o_a);
                            //RuimteHuidig.updateSubcats(o_a);
                        }
                    }
                    else if (RuimteHuidig.GekozenOpties.Contains(o_a))
                    {
                        RuimteHuidig.GekozenOpties.Remove(o_a);
                        //RuimteHuidig.updateSubcats(null);
                    }
                }

                break;
            }
            RuimteHuidig.updateSubcats();
        }
Пример #3
0
        public void ReloadKeuzes()
        {
            switch (KeuzeSoort)
            {
            case "Opties_accent":
            case "Opties":
                if (RuimteHuidig.GekozenOpties.Count > 0)
                {
                    Acumulator.Instance().BB.ShowWijzigBtn(true);
                    var opties = (from ok in RuimteHuidig.GekozenOpties
                                  select(ok as OptieKeuze).OptieID).ToList();
                    if (_singleKeuze)
                    {
                        foreach (CustomListItem si in ListBox.Items)
                        {
                            if (opties.Contains(si.Id))
                            {
                                si.Gekozen = true;
                            }
                            if (Acumulator.Instance().BB.IsCurrentComplete())
                            {
                                si.Beschikbaar = false;
                            }
                        }
                    }
                    else
                    {
                        foreach (CustomListItem mi in ListBox.Items)
                        {
                            if (opties.Contains(mi.Id))
                            {
                                mi.Gekozen = true;
                            }
                        }
                        foreach (CustomListItem mi in ListBox.Items)
                        {
                            if (Acumulator.Instance().BB.IsCurrentComplete())
                            {
                                mi.Beschikbaar = false;
                            }
                            else
                            {
                                /*var enab = (from o in RuimteHuidig.Children
                                 *                      where o.GetType() == typeof(OptieKeuze)
                                 *                      && (o as OptieKeuze).OptType == OptieType.Resulting
                                 *                      select (o as OptieKeuze).OptieID).ToList();
                                 * if (!enab.Contains(mi.Id))
                                 * {
                                 *      mi.Beschikbaar = false;
                                 * }*/
                            }
                        }
                    }
                }
                else
                {
                    if (KeuzeSoort == "Opties")
                    {
                        foreach (CustomListItem cli in ListBox.Items)
                        {
                            cli.Beschikbaar = false;
                        }
                    }
                    //Acumulator.Instance().BB.ShowWijzigBtn(false);
                }
                break;

            case "Pakket":
                Pakket_Old = null;
                if (RuimteHuidig.GekozenPakket != null)
                {
                    Pakket_Old = RuimteHuidig.GekozenPakket;
                }
                else if (RuimteHuidig.PakketOud != null)
                {
                    Pakket_Old = RuimteHuidig.PakketOud;
                }
                if (Pakket_Old != null)
                {
                    Acumulator.Instance().BB.ShowWijzigBtn(true);
                    foreach (CustomListItem sli in ListBox.Items)
                    {
                        if (sli.Id.ToString() == Pakket_Old.Pakket_ID && sli.Beschikbaar)
                        {
                            sli.Gekozen = true;
                        }
                        if (Acumulator.Instance().BB.IsCurrentComplete())
                        {
                            sli.Beschikbaar = false;
                        }
                    }
                }
                break;

            case "profiel":
                var profielsc = (from scpp in Acumulator.Instance().ctx.SubCatPerPakkets
                                 join sc in Acumulator.Instance().ctx.SubCats on scpp.SCB_NR equals sc.SCB_ID
                                 where sc.SCB_ID == "SCB3" || sc.SCB_ID == "SCB10" || sc.SCB_ID == "SCB12"
                                 select scpp.SCBP_ID).ToList();
                var prof = RuimteHuidig.GekozenTegels.Where(p => profielsc.Contains(p.LinkedSubCat)).FirstOrDefault() as Product;
                if (prof != null)
                {
                    foreach (CustomListItem si in ListBox.Items)
                    {
                        if (si.Id.ToString() == prof.ID)
                        {
                            si.Gekozen = true;
                        }
                        if (Acumulator.Instance().BB.IsCurrentComplete())
                        {
                            si.Beschikbaar = false;
                        }
                    }
                }
                break;

            case "bewerking":
                if (RuimteHuidig.GekozenBewerkingen.Count > 0)
                {
                    var bewIds = (from nb in RuimteHuidig.GekozenBewerkingen
                                  select nb.Nabewerking_ID).ToList();
                    foreach (CustomListItem sli in ListBox.Items)
                    {
                        if (bewIds.Contains(sli.Id))
                        {
                            sli.Gekozen = true;
                        }
                        if (Acumulator.Instance().BB.IsCurrentComplete())
                        {
                            sli.Beschikbaar = false;
                        }
                    }
                }
                break;
            }
        }
Пример #4
0
        int IComparer <T> .Compare(T a, T b)
        {
            OptieKeuze opta = a as OptieKeuze;
            OptieKeuze optb = b as OptieKeuze;

            Classes.SubCatPerPakket scppA = a as Classes.SubCatPerPakket;
            Classes.SubCatPerPakket scppB = b as Classes.SubCatPerPakket;
            Product        prodA          = a as Product;
            Product        prodB          = b as Product;
            BouwnummerItem bnrA           = a as BouwnummerItem;
            BouwnummerItem bnrB           = b as BouwnummerItem;
            HoekProfiel    hoekA          = a as HoekProfiel;
            HoekProfiel    hoekB          = b as HoekProfiel;
            PakketKeuze    pakA           = a as PakketKeuze;
            PakketKeuze    pakB           = b as PakketKeuze;
            Bouwnummers    BnrsA          = a as Bouwnummers;
            Bouwnummers    BnrsB          = b as Bouwnummers;

            if (opta != null && optb != null)
            {
                var ctx = Acumulator.Instance().ctx;

                var rdVolgA = (from rd in ctx.RuimteDelens
                               where rd.R_ID == opta.OptieID
                               select rd.volgorde).FirstOrDefault();

                var rdVolgB = (from rd in ctx.RuimteDelens
                               where rd.R_ID == optb.OptieID
                               select rd.volgorde).FirstOrDefault();
                if (rdVolgA != null && rdVolgB != null)
                {
                    int ia = (int)rdVolgA;
                    var ib = (int)rdVolgB;
                    if (ia > ib)
                    {
                        return(1);
                    }
                    if (ia < ib)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    var maxmeters = (from spr in ctx.SubCatPerRuimteDeels
                                     where spr.R_NR == opta.OptieID && spr.SCB_NR != "SCB4"
                                     select new KeyValuePair <string, double>(spr.SCB_NR, (double)spr.meters)).ToList();
                    var max  = 0.0;
                    var scbA = "";
                    foreach (var x in maxmeters)
                    {
                        var getal = Math.Abs(x.Value);
                        if (getal > max)
                        {
                            max  = getal;
                            scbA = x.Key;
                        }
                    }

                    /*var subcpnrA = (from spr in ctx.SubCatPerRuimteDeels
                     *              where spr.R_NR == opta.OptieID
                     *              select spr.SCB_NR).FirstOrDefault();*/
                    int volgnrA;
                    if (scbA != null)
                    {
                        volgnrA = (int)(from sc in ctx.SubCats
                                        where sc.SCB_ID == scbA
                                        select sc.volgorde).FirstOrDefault();
                    }
                    else
                    {
                        volgnrA = 9999;
                    }

                    var maxmetersB = (from spr in ctx.SubCatPerRuimteDeels
                                      where spr.R_NR == opta.OptieID && spr.SCB_NR != "SCB4"
                                      select new KeyValuePair <string, double>(spr.SCB_NR, (double)spr.meters)).ToList();
                    var maxB = 0.0;
                    var scbB = "";
                    foreach (var x in maxmetersB)
                    {
                        var getal = Math.Abs(x.Value);

                        if (getal > maxB)
                        {
                            maxB = getal;
                            scbB = x.Key;
                        }
                    }

                    /*var subcpnrB = (from spr in ctx.SubCatPerRuimteDeels
                     *              where spr.R_NR == optb.OptieID
                     *              select spr.SCB_NR).FirstOrDefault();*/
                    int volgnrB;
                    if (scbB != null)
                    {
                        volgnrB = (int)(from sc in ctx.SubCats
                                        where sc.SCB_ID == scbB
                                        select sc.volgorde).FirstOrDefault();
                    }
                    else
                    {
                        volgnrB = 9999;
                    }
                    int ia = volgnrA;
                    var ib = volgnrB;
                    if (ia > ib)
                    {
                        return(1);
                    }
                    if (ia < ib)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            else if (scppA != null && scppB != null)
            {
                if (scppA != null && scppB != null)
                {
                    var ctx     = Acumulator.Instance().ctx;
                    var subcnrA = (from sc in ctx.SubCats
                                   where sc.SCB_ID == scppA.SubCatNR
                                   select sc.volgorde).FirstOrDefault();
                    int volgA = (int)subcnrA;

                    var subcnrB = (from sc in ctx.SubCats
                                   where sc.SCB_ID == scppB.SubCatNR
                                   select sc.volgorde).FirstOrDefault();
                    int volgB = (int)subcnrB;
                    if (volgA > volgB)
                    {
                        return(1);
                    }
                    if (volgA < volgB)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    return(0);
                }
            }
            else if (prodA != null && prodB != null)
            {
                int maatA = prodA.Lengte + prodA.Breedte;
                int maatB = prodB.Lengte + prodB.Breedte;
                int volgA = prodA.kleurVolgorde;
                int volgB = prodB.kleurVolgorde;
                if (maatA > maatB)
                {
                    return(1);
                }
                if (maatA < maatB)
                {
                    return(-1);
                }
                else
                {
                    if (volgA > volgB)
                    {
                        return(1);
                    }
                    if (volgA < volgB)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            else if (bnrA != null && bnrB != null)
            {
                int ia = int.Parse(bnrA.B_ID.TrimStart('B'));
                int ib = int.Parse(bnrB.B_ID.TrimStart('B'));
                if (ia > ib)
                {
                    return(1);
                }
                if (ia < ib)
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            }
            else if (hoekA != null && hoekB != null)
            {
                int volgA = hoekA.KleurVolgorde;
                int volgB = hoekB.KleurVolgorde;
                if (hoekA.ProfielType == hoekB.ProfielType)
                {
                    if (volgA > volgB)
                    {
                        return(1);
                    }
                    if (volgA < volgB)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }
                else if (hoekA.ProfielType == "Recht")
                {
                    return(-1);
                }
                else
                {
                    return(1);
                }
            }
            else if (BnrsA != null && BnrsB != null)
            {
                var ia = int.Parse(BnrsA.B_ID.TrimStart('B'));
                var ib = int.Parse(BnrsB.B_ID.TrimStart('B'));
                if (ia > ib)
                {
                    return(1);
                }
                if (ia < ib)
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            }
            else if (pakA != null && pakB != null)
            {
                var ctx   = Acumulator.Instance().ctx;
                var pgo_a = (from pgo in ctx.PakketGroepOpbouws
                             join br in ctx.Bron_Ruimtes on pgo.PG_NR equals br.PG_NR
                             where br.R_NR == Acumulator.Instance().BB.HuidigRuimte.RuimteID&& pgo.P_NR == pakA.Pakket_ID
                             select pgo.PGO_ID).FirstOrDefault();
                var pgo_b = (from pgo in ctx.PakketGroepOpbouws
                             join br in ctx.Bron_Ruimtes on pgo.PG_NR equals br.PG_NR
                             where br.R_NR == Acumulator.Instance().BB.HuidigRuimte.RuimteID&& pgo.P_NR == pakB.Pakket_ID
                             select pgo.PGO_ID).FirstOrDefault();

                var SA = pgo_a.Split('O');
                var IA = int.Parse(SA[1]);
                var SB = pgo_b.Split('O');
                var IB = int.Parse(SB[1]);

                if (IA > IB)
                {
                    return(1);
                }
                else if (IA < IB)
                {
                    return(-1);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                return(0);
            }
        }