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; } }
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(); }
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; } }
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); } }