public void ReadXml(XmlReader reader) { reader.MoveToContent(); ID = reader.GetAttribute("ID"); var tmpvolgorde = 0; int.TryParse(reader.GetAttribute("volgorde"), out tmpvolgorde); volgorde = tmpvolgorde; Omschrijving = reader.GetAttribute("Omschrijving"); LinkedMainCat = reader.GetAttribute("LinkedMainCat"); LinkedSubCat = reader.GetAttribute("LinkedSubCat"); //var tmpPrijs = 0.0; //double.TryParse(reader.GetAttribute("Prijs"),out tmpPrijs); Prijs = ExpertMethods.CultureDeliminatorConverter(reader.GetAttribute("Prijs")); //var tmpToeslag = 0.0; //double.TryParse(reader.GetAttribute("VerpakkingsToeslag"),out tmpToeslag); VerpakkingsToeslag = ExpertMethods.CultureDeliminatorConverter(reader.GetAttribute("VerpakkingsToeslag")); var tmpLengt = 0; int.TryParse(reader.GetAttribute("Lengte"), out tmpLengt); Lengte = tmpLengt; var tmpBreedt = 0; int.TryParse(reader.GetAttribute("Breedte"), out tmpBreedt); Breedte = tmpBreedt; ImgPath = reader.GetAttribute("ImgPath"); KleurCode = reader.GetAttribute("KleurCode"); Kleur = reader.GetAttribute("Kleur"); Naam = reader.GetAttribute("Naam"); productcode = reader.GetAttribute("productcode"); var tmpKlVlg = 0; int.TryParse(reader.GetAttribute("kleurvolgorde"), out tmpKlVlg); kleurVolgorde = tmpKlVlg; }
public void ReadXml(XmlReader reader) { reader.MoveToContent(); //double oM; //double.TryParse(reader.GetAttribute("Meters"), out oM); Meters = ExpertMethods.CultureDeliminatorConverter(reader.GetAttribute("Meters")); RegelIndex = int.Parse(reader.GetAttribute("RegelIndex")); Opmerking = reader.GetAttribute("Opmerking"); LinkedSubCat = reader.GetAttribute("LinkedSubCat"); NabewerkingSetNR = reader.GetAttribute("NabewerkingSetNR"); bool isb; bool.TryParse(reader.GetAttribute("IsBasis"), out isb); IsBasis = isb; //double oMp; //double.TryParse(reader.GetAttribute("Meerprijs"), out oMp); //Meerprijs = oMp; Meerprijs = ExpertMethods.CultureDeliminatorConverter(reader.GetAttribute("Meerprijs")); int prodEnum; if (int.TryParse(reader.GetAttribute("ProdSoort"), out prodEnum)) { ProdSoort = (ProductSoort)prodEnum; } reader.Read(); if (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "LinkedProduct") { while (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "LinkedProduct") { Product p = new Product(); p.ReadXml(reader); LinkedProduct = p; reader.Read(); } if (reader.LocalName == "LinkedProduct") { reader.ReadEndElement(); } } if (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "LinkedHoekProf") { while (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "LinkedHoekProf") { HoekProfiel h = new HoekProfiel(); h.ReadXml(reader); LinkedHoekProf = h; reader.Read(); } if (reader.LocalName == "LinkedHoekProf") { reader.ReadEndElement(); } } }
public void ReadXml(XmlReader reader) { reader.MoveToContent(); ProfielType = reader.GetAttribute("ProfielType"); ProfielImg = reader.GetAttribute("ProfielImg"); Omschrijving = reader.GetAttribute("Omschrijving"); ProfielID = reader.GetAttribute("ProfielID"); LinkedSubCat = reader.GetAttribute("LinkedSubCat"); //var tmpMtrs = 0.0; //double.TryParse(reader.GetAttribute("Meters"),out tmpMtrs); Meters = ExpertMethods.CultureDeliminatorConverter(reader.GetAttribute("Meters")); var tmpVlg = 0; int.TryParse(reader.GetAttribute("volgorde"), out tmpVlg); volgorde = tmpVlg; //var tmpVerpToes = 0.0; //double.TryParse(reader.GetAttribute("VerpakkingsToeslag"),out tmpVerpToes); VerpakkingsToeslag = ExpertMethods.CultureDeliminatorConverter(reader.GetAttribute("VerpakkingsToeslag")); KleurCode = reader.GetAttribute("KleurCode"); Kleur = reader.GetAttribute("Kleur"); var tmpKlVlg = 0; int.TryParse(reader.GetAttribute("KleurVolgorde"), out tmpKlVlg); KleurVolgorde = tmpKlVlg; int lenOut; if (int.TryParse(reader.GetAttribute("Lengte"), out lenOut)) { Lengte = lenOut; } int breOut; if (int.TryParse(reader.GetAttribute("Breedte"), out breOut)) { Breedte = breOut; } bool expmd; if (bool.TryParse(reader.GetAttribute("IsExpertMode"), out expmd)) { IsExpertMode = expmd; } }
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); }
private void GenerateReport(bool saveneeded, DateTime printDatum) { //var bitmapImage = new BitmapImage(); //bitmapImage.UriSource = new Uri("Images/logo-payoff-online.jpg",UriKind.Relative); byte[] bytes; // Get an Image Stream using (var ms = ImageTools.Helpers.Extensions.GetLocalResourceStream(new Uri("Images/logo-payoff-online.jpg", UriKind.Relative))) { // reset the stream pointer to the beginning ms.Seek(0, 0); //read the stream into a byte array bytes = new byte[ms.Length]; ms.Read(bytes, 0, bytes.Length); } //data now holds the bytes of the image if (bytes != null) { using (MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length)) { BitmapImage im = new BitmapImage(); im.SetSource(ms); var BlueprintImg = new Image(); BlueprintImg.Source = im; BlueprintImg.Width = 266; HeaderGrid.Children.Add(BlueprintImg); BlueprintImg.SetValue(Grid.ColumnProperty, 0); BlueprintImg.SetValue(Grid.RowSpanProperty, 2); BlueprintImg.SetValue(Grid.RowProperty, 0); BlueprintImg.Margin = new Thickness(45, 63, 15, 0); BlueprintImg.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; BlueprintImg.VerticalAlignment = System.Windows.VerticalAlignment.Top; } } //Header var ctx = Acumulator.Instance().ctx; var inst = Acumulator.Instance(); // TBKlantnaam.Text += Acumulator.Instance().GebruikersNaam; // TBDatum.Text += DateTime.Now.ToShortDateString(); var instapChecklist = new Dictionary <String, int>(); HeleDozenLijst.Clear(); MakeHeader(); MakeFooter(saveneeded, printDatum); /// if (inst.OTracker != null && inst.OTracker.offerteRuimte_ != null) { foreach (Ruimte r in inst.OTracker.offerteRuimte_.Children) { foreach (var p in r.GekozenTegels) { if (instapChecklist.ContainsKey(p.ID)) { instapChecklist[p.ID] += 1; } else { instapChecklist.Add(p.ID, 1); } } foreach (var p in r.GekozenProfielen) { if (instapChecklist.ContainsKey(p.ProfielID)) { instapChecklist[p.ProfielID] += 1; } else { instapChecklist.Add(p.ProfielID, 1); } } } double totaalprijs = 0; foreach (Ruimte r in inst.OTracker.offerteRuimte_.Children) { if (r.GekozenPakket != null) { AddArticle(inst.MaakStartZin(r.Omschrijving), -1, true); AddArticle(inst.MaakStartZin("Pakket: " + r.GekozenPakket.Omschrijving), r.GekozenPakket.PrijsHuidig, true); } foreach (OptieKeuze op in r.GekozenOpties) { op.laad_verder(); var dorpelcat = (from dc in ctx.SubCatPerRuimteDeels where dc.R_NR == op.OptieID && dc.SCB_NR == "SCB13" select dc.R_NR).FirstOrDefault(); var tmptotPrijs = 0.0; if (r.GekozenPakket != null) { tmptotPrijs += op.getMeerprijs(ctx, r.GekozenPakket.PakketPrijsgroep_NR); } else { var basispakket = (from rpt in ctx.RuimtesPerTypes where rpt.R_NR == inst.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 = inst.BerekenEindPrijs((double)basispakprijs); } } if (optiebasisprijs == 0) { optiebasisprijs = op.BasisPrijs; } tmptotPrijs = optiebasisprijs; } AddArticle(inst.MaakStartZin(op.Omschrijving), tmptotPrijs, false); totaalprijs += tmptotPrijs; if (dorpelcat != null && r.GekozenTegels.Count > 0) { if (!inst.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") { AddArticle("Meerprijs Dorpel", double.Parse(parts[1]), false); totaalprijs += double.Parse(parts[1]); } } } } } foreach (var exmtrs in r.AanvullendeMeters) { if (!exmtrs.IsBasis) { exmtrs.ProdSoort = exmtrs.LinkedSubCat != null && (exmtrs.LinkedSubCat == "SCB13" || exmtrs.LinkedSubCat == "SCB18") ? ProductSoort.Dorpel : exmtrs.ProdSoort; var eenheidsText = exmtrs.ProdSoort == ProductSoort.HoekProfiel ? "m x €" : exmtrs.ProdSoort == ProductSoort.Dorpel ? "st x €" : "m² x €"; var accText = ( exmtrs.LinkedProduct != null ? exmtrs.LinkedProduct.Omschrijving : ( exmtrs.LinkedHoekProf != null ? exmtrs.LinkedHoekProf.Omschrijving : "" ) ) + " (" + exmtrs.Meters + eenheidsText + exmtrs.Meerprijs.ToString() + ")"; var accPrijs = exmtrs.Meters * exmtrs.Meerprijs; 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); } totaalprijs += accPrijs; AddArticle(accText, accPrijs, false); } } AddArticle("", -1, true); } //afname van hele dozen AddArticle("Afname Hele Dozen", -1, true); double dozenprijs = 0.0; foreach (var hd in HeleDozenLijst) { AddArticle(hd.Key, hd.Value, false); dozenprijs += hd.Value; } AddArticle("", -1, true); AddArticle("subtotaal afname hele dozen", dozenprijs, true); totaalprijs += dozenprijs; // // MakeTotals(); } }