public void UpdateInfo() { empty = false; if (this.Visibility != Visibility.Visible) { this.Visibility = Visibility.Visible; } Bon = MakeBon(); }
private void showBonBtn_Click(object sender, RoutedEventArgs e) { if (!empty) { var bigbon = new DetailsWindow(); Bon = MakeBon(); bigbon.Width = Bon.Width + 25; bigbon.Height = Bon.Height + 25; bigbon.LoadContent(Bon); bigbon.Show(); } }
private ExpertReceipt MakeBon() { var ctx = Acumulator.Instance().ctx; var tmpBon = new ExpertReceipt(); if (Acumulator.Instance().OTracker != null && Acumulator.Instance().OTracker.offerteRuimte_ != null) { GetInstapPrijzen(); tmpBon.Clear(); var bouwnr = (from b in Acumulator.Instance().ctx.Bouwnummers where b.B_ID == Acumulator.Instance().Bouwnr select b.Omschrijving).FirstOrDefault(); tmpBon.AddArticle(bouwnr, -1, true); foreach (Ruimte r in Acumulator.Instance().OTracker.offerteRuimte_.Children) { tmpBon.AddArticle(r.Omschrijving, -1, true); if (r.GekozenPakket != null) { tmpBon.AddArticle("Pakket: " + r.GekozenPakket.Omschrijving, r.GekozenPakket.PrijsHuidig, false); } foreach (OptieKeuze op in r.GekozenOpties) { op.laad_verder(); var dorpelcat = (from dc in Acumulator.Instance().ctx.SubCatPerRuimteDeels where dc.R_NR == op.OptieID && dc.SCB_NR == "SCB13" select dc.R_NR).FirstOrDefault(); var prijs = 0.0; if (r.GekozenPakket != null) { prijs = op.getMeerprijs(Acumulator.Instance().ctx, (r.GekozenPakket as PakketKeuze).PakketPrijsgroep_NR); } else { var basispakket = (from rpt in ctx.RuimtesPerTypes where rpt.R_NR == Acumulator.Instance().BB.HuidigRuimte.RuimteID select rpt.BasisPakket_NR).FirstOrDefault(); var optiebasisprijs = 0.0; if (basispakket != null) { var basispakprijs = (from pr in ctx.MeerPrijzenRuimteOpties where pr.R_NR == op.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 = op.BasisPrijs; } prijs = optiebasisprijs; } tmpBon.AddArticle(op.Omschrijving, prijs, false); if (dorpelcat != null && r.GekozenTegels.Count > 0) { if (!Acumulator.Instance().ProjFase.FilterDorpels) { var oms = r.GekozenTegels.Where(x => x.Omschrijving.Contains('€')).FirstOrDefault(); if (oms != null) { var parts = oms.Omschrijving.Split('€'); if (parts[1] != "0,00") { tmpBon.AddArticle("Meerprijs Dorpel", double.Parse(parts[1]), false); } } } } } foreach (var exmtrs in r.AanvullendeMeters) { if (!exmtrs.IsBasis) { var accText = exmtrs.LinkedProduct != null ? exmtrs.LinkedProduct.Omschrijving : exmtrs.LinkedHoekProf != null ? exmtrs.LinkedHoekProf.Omschrijving : ""; // + ": " + exmtrs.Meters + " meter voor €" + exmtrs.Meerprijs.ToString() + " per meter"; var accPrijs = exmtrs.Meters * exmtrs.Meerprijs; // +(exmtrs.LinkedProduct != null ? exmtrs.LinkedProduct.VerpakkingsToeslag : exmtrs.LinkedHoekProf != null ? exmtrs.LinkedHoekProf.VerpakkingsToeslag : 0.0);//0.0; tmpBon.AddArticle(accText, accPrijs, false); } if (exmtrs.LinkedProduct != null) { ExpertMethods.instapPrijsCalc(exmtrs.LinkedProduct.ID, exmtrs.LinkedProduct.Omschrijving, instapChecklist, exmtrs.LinkedProduct.VerpakkingsToeslag, HeleDozenLijst); } else if (exmtrs.LinkedHoekProf != null) { ExpertMethods.instapPrijsCalc(exmtrs.LinkedHoekProf.ProfielID, exmtrs.LinkedHoekProf.Omschrijving, instapChecklist, exmtrs.LinkedHoekProf.VerpakkingsToeslag, HeleDozenLijst); } } tmpBon.AddArticle("", -1, true); } var oruim = Acumulator.Instance().OTracker.offerteRuimte_; //instap prijzen aka afname hele dozen tmpBon.AddArticle("Afname hele dozen", -1, true); double dozenprijs = 0.0; foreach (var hd in HeleDozenLijst) { tmpBon.AddArticle(hd.Key, hd.Value, false); dozenprijs += hd.Value; } //if(oruim.Korting != null && oruim.Korting.KortingBedrag > 0.0) //{ // var kort = oruim.Korting.KortingBedrag * -1; // tmpBon.AddArticle("Korting", kort,true ); //} this.Setprijs(tmpBon.GetTotal()); } return(tmpBon); }