private CustomListItem mkListItem_single(IOfferte item, eBrochureDomainContext ctx, string grpnm) { //invulling aan listItem geven, wss var optie = item as OptieKeuze; if (optie != null) { var sli = new CustomListItem(optie.Omschrijving, optie.OptieID, item.IsEnabled, true, this, grpnm); //var sli = new SingleListItem(optie.Omschrijving + " - €"+ String.Format("{0:0.00}",optie.BasisPrijs), optie.OptieID, item.IsEnabled); if (!sli.Beschikbaar) { Disabled.Add(sli); } return(sli); } var ruimte = item as RuimteOfferte; if (ruimte != null) { var sli = new CustomListItem(ruimte.Omschrijving, ruimte.Omschrijving, item.IsEnabled, true, this, grpnm); //var sli = new SingleListItem(ruimte.Omschrijving, ruimte.Omschrijving, item.IsEnabled); if (!sli.Beschikbaar) { Disabled.Add(sli); } return(sli); } var pakket = item as PakketKeuze; if (pakket != null) { var sli = new CustomListItem(pakket.Omschrijving, pakket.Pakket_ID, pakket.IsEnabled, true, this, grpnm); var oli = new List <OpbouwItem>(); oli.Add(new OpbouwItem("pakket " + pakket.Omschrijving.ToLower(), "€" + string.Format("{0:0.00}", pakket.PrijsHuidig), "")); foreach (OptieKeuze ok in RuimteHuidig.GekozenOpties) { if (ok.OptieSoort != "OT3") { oli.Add(new OpbouwItem(ok.Omschrijving, "€" + string.Format("{0:0.00}", (ok.getMeerprijs(Acumulator.Instance().ctx, pakket.PakketPrijsgroep_NR))), "")); } } if (oli.Count > 0) { sli.Opbouw = oli; } //var sli = new SingleListItem(pakket.Omschrijving + " - €"+ String.Format("{0:0.00}",pakket.PrijsHuidig), pakket.Pakket_ID, item.IsEnabled); if (!sli.Beschikbaar) { Disabled.Add(sli); } return(sli); } var bewerking = item as Nabewerking; if (bewerking != null) { var sli = new CustomListItem(bewerking.Omschrijving, bewerking.Nabewerking_ID, true, true, this, grpnm); //var sli = new SingleListItem(bewerking.Omschrijving, bewerking.Nabewerking_ID, true); if (!sli.Beschikbaar) { Disabled.Add(sli); } return(sli); } var product = item as Product; if (product != null) { var sli = new CustomListItem(product.Omschrijving, product.ID, true, true, this, grpnm); //var sli = new SingleListItem(product.Omschrijving, product.ID, true); if (!sli.Beschikbaar) { Disabled.Add(sli); } return(sli); } return(null); }
private CustomListItem mkListItem_multi(IOfferte item, eBrochureDomainContext ctx, string gpnm) { //invulling aan listItem geven, wss var optie = item as OptieKeuze; if (optie != null) { var mli = new CustomListItem(optie.Omschrijving, optie.OptieID, item.IsEnabled, false, this, gpnm); //var mli = new MultiListItem(optie.Omschrijving + " - €" + String.Format("{0:0.00}",optie.BasisPrijs), optie.OptieID, item.IsEnabled); //mli.Checked += new RoutedEventHandler(mli_Checked); //mli.Unchecked += new RoutedEventHandler(mli_Unchecked); var opb = new List <OpbouwItem>(); var basispakket = (from rpt in ctx.RuimtesPerTypes where rpt.R_NR == RuimteHuidig.RuimteID select rpt.BasisPakket_NR).FirstOrDefault(); var optiebasisprijs = 0.0; if (basispakket != null) { var basispakprijs = (from pr in ctx.MeerPrijzenRuimteOpties where pr.R_NR == optie.OptieID && pr.PP_NR == (from p in ctx.Pakkettens where p.P_ID == basispakket select p.PP_NR).FirstOrDefault() select pr.meerprijs).FirstOrDefault(); if (basispakprijs != null) { optiebasisprijs = Acumulator.Instance().BerekenEindPrijs((double)basispakprijs); } } if (optiebasisprijs == 0) { optiebasisprijs = optie.BasisPrijs; } opb.Add(new OpbouwItem("", "€" + String.Format("{0:0.00}", optiebasisprijs), "vanaf") { TextStijl = FontStyles.Italic }); mli.Opbouw = opb; // add excludes var exc = from e in ctx.OngeldigeCombinatieOpbouws where e.R_NR == optie.OptieID select e.OC_NR; foreach (string s in exc) { var foo = (from ex in ctx.OngeldigeCombinatieOpbouws where ex.OC_NR == s && ex.R_NR != optie.OptieID select ex.R_NR).ToList <string>(); foreach (string bar in foo) { mli.Excludes.Add(bar); } } /////////////////// var verplichtesetid = (from vcs in ctx.VerplichteCombinatieOpbouws where vcs.R_NR == optie.OptieID select vcs.VC_NR).FirstOrDefault(); var combis = (from vco in ctx.VerplichteCombinatieOpbouws where vco.VC_NR == verplichtesetid && vco.R_NR != optie.OptieID select vco.R_NR).ToList(); if (combis.Count > 0) { foreach (string c in combis) { mli.Combines.Add(c); } } /////////////////// var grayed = (from r in ctx.MeervoudigeCombinatiesOpbouws where r.R_NR == optie.OptieID select r.IsAfhankelijk).FirstOrDefault(); var mcset = (from mc in ctx.MeervoudigeCombinatiesOpbouws where mc.R_NR == optie.OptieID select mc.MC_NR).ToList(); var mcrids = (from mr in ctx.MeervoudigeCombinatiesOpbouws where mcset.Contains(mr.MC_NR) select mr.R_NR).ToList(); int cntr = 0; foreach (OptieKeuze ok in Inputlist) { if (mcrids.Contains(ok.OptieID)) { cntr++; } } if (cntr == mcrids.Count && grayed != null) { mli.Beschikbaar = !(bool)grayed; } //add unlocks var multi = from m in ctx.MeervoudigeCombinatiesOpbouws where m.R_NR == optie.OptieID && m.IsAfhankelijk == false select m.MC_NR; foreach (string s in multi) { var foo = (from mu in ctx.MeervoudigeCombinatiesOpbouws where mu.MC_NR == s && mu.R_NR != optie.OptieID select mu.R_NR).ToList(); foreach (string bar in foo) { mli.Unlocks.Add(bar); } } if (!mli.Beschikbaar) { Disabled.Add(mli); } return(mli); } var ruimte = item as RuimteOfferte; if (ruimte != null) { var mli = new CustomListItem(ruimte.Omschrijving, ruimte.Omschrijving, item.IsEnabled, false, this, gpnm); //var sli = new MultiListItem(ruimte.Omschrijving, ruimte.Omschrijving, item.IsEnabled); if (!mli.Beschikbaar) { Disabled.Add(mli); } //add excludes return(mli); } return(null); }
private CustomListItem mkListItem_multi(IOfferte item, eBrochureDomainContext ctx, string gpnm) { //invulling aan listItem geven, wss var optie = item as OptieKeuze; if (optie != null) { var mli = new CustomListItem(optie.Omschrijving, optie.OptieID, item.IsEnabled, false, this, gpnm); //var mli = new MultiListItem(optie.Omschrijving + " - €" + String.Format("{0:0.00}",optie.BasisPrijs), optie.OptieID, item.IsEnabled); //mli.Checked += new RoutedEventHandler(mli_Checked); //mli.Unchecked += new RoutedEventHandler(mli_Unchecked); var opb = new List <OpbouwItem>(); opb.Add(new OpbouwItem("", "€" + String.Format("{0:0.00}", optie.BasisPrijs), "vanaf") { TextStijl = FontStyles.Italic }); mli.Opbouw = opb; // add excludes var exc = from e in ctx.OngeldigeCombinatieOpbouws where e.R_NR == optie.OptieID select e.OC_NR; foreach (string s in exc) { var foo = (from ex in ctx.OngeldigeCombinatieOpbouws where ex.OC_NR == s && ex.R_NR != optie.OptieID select ex.R_NR).ToList <string>(); foreach (string bar in foo) { mli.Excludes.Add(bar); } } var grayed = (from r in ctx.MeervoudigeCombinatiesOpbouws where r.R_NR == optie.OptieID select r.IsAfhankelijk).FirstOrDefault(); var mcset = (from mc in ctx.MeervoudigeCombinatiesOpbouws where mc.R_NR == optie.OptieID select mc.MC_NR).ToList(); var mcrids = (from mr in ctx.MeervoudigeCombinatiesOpbouws where mcset.Contains(mr.MC_NR) select mr.R_NR).ToList(); int cntr = 0; foreach (OptieKeuze ok in Inputlist) { if (mcrids.Contains(ok.OptieID)) { cntr++; } } if (cntr == mcrids.Count && grayed != null) { mli.Beschikbaar = !(bool)grayed; } //add unlocks var multi = from m in ctx.MeervoudigeCombinatiesOpbouws where m.R_NR == optie.OptieID && m.IsAfhankelijk == false select m.MC_NR; foreach (string s in multi) { var foo = (from mu in ctx.MeervoudigeCombinatiesOpbouws where mu.MC_NR == s && mu.R_NR != optie.OptieID select mu.R_NR).ToList(); foreach (string bar in foo) { mli.Unlocks.Add(bar); } } if (!mli.Beschikbaar) { Disabled.Add(mli); } return(mli); } var ruimte = item as RuimteOfferte; if (ruimte != null) { var mli = new CustomListItem(ruimte.Omschrijving, ruimte.Omschrijving, item.IsEnabled, false, this, gpnm); //var sli = new MultiListItem(ruimte.Omschrijving, ruimte.Omschrijving, item.IsEnabled); if (!mli.Beschikbaar) { Disabled.Add(mli); } //add excludes return(mli); } return(null); }