private void SetPrices(OfferteDTO dto, Offerte retVal) { var voorschot = retVal.Voorschot / 100m; var totalePrijs = retVal.GetTotalePrijs(); var btw = retVal.GetBtw(); dto.TotaalNettoPrijs = totalePrijs.ToString("#.00"); if (btw == 0.00m) { dto.PrijsIfBtw0 = "-"; dto.TotaalPrijsIncBtw = totalePrijs.ToString("#.00"); } if (btw == 0.06m) { var tax = totalePrijs * 0.06m; dto.PrijsIfBtw6 = tax.ToString("#.00"); dto.TotaalPrijsIncBtw = (totalePrijs + tax).ToString("#.00"); } if (btw == 0.21m) { var tax = totalePrijs * 0.21m; dto.PrijsIfBtw21 = tax.ToString("#.00"); dto.TotaalPrijsIncBtw = (totalePrijs + tax).ToString("#.00"); } dto.PrijsVoorschot = (decimal.Parse(dto.TotaalPrijsIncBtw) * voorschot).ToString("0.00"); dto.PrijsLeftOver = (decimal.Parse(dto.TotaalPrijsIncBtw) - decimal.Parse(dto.PrijsVoorschot)).ToString("0.00"); }
public byte[] GetPdfBytes(OfferteDTO offerteDto) { var html = this.FillDocumentTemplate(offerteDto); var renderer = new IronPdf.HtmlToPdf(); var assembly = Assembly.GetExecutingAssembly().Location; var filePath = Path.GetDirectoryName(assembly); return(renderer.RenderHtmlAsPdf(html, Path.Combine(filePath, "Templates")).Stream.ToArray()); }
private void SetWorkItems(OfferteDTO dto, Offerte retVal) { var max = retVal.Werklijnen.Count(); dto.WorkItems = new WerkLine[6]; for (int i = 0; i < 6; i++) { if (i < max) { dto.WorkItems[i] = retVal.Werklijnen[i]; } else { dto.WorkItems[i] = null; } } }
private OfferteDTO ConvertToTemplate(Offerte retVal) { var klantNummer = string.Format($"{retVal?.Klant?.Adres?.StraatNaam} {retVal?.Klant?.Adres?.HuisNummer} {retVal?.Klant?.Adres?.BusNummer}"); var dto = new OfferteDTO { Datum = retVal.Datum.Date.ToString("dd-MM-yyyy"), VervalDatum = retVal.VervalDatum.Date.ToString("dd-MM-yyyy"), KlantBtw = retVal?.Klant?.Contact?.BtwNummer ?? "", KlantEmail = retVal?.Klant?.Contact?.Email, KlantNaam = retVal?.Klant?.Naam, KlantPostcodeGemeente = $"{retVal?.Klant?.Adres?.Postcode} {retVal?.Klant?.Adres?.Gemeente}", KlantRef = retVal?.Klant?.KlantenRef.ToString("00000"), KlantStraatNummer = klantNummer.Trim(), KlantTelefoon = retVal?.Klant?.Contact?.TelefoonNummer, OfferteNummer = retVal.OfferteNummer, PrijsIfBtw0 = "", PrijsIfBtw21 = "", PrijsIfBtw6 = "", PrijsLeftOver = "", PrijsVoorschot = "", TotaalNettoPrijs = "", TotaalPrijsIncBtw = "", }; SetWorkItems(dto, retVal); SetPrices(dto, retVal); dto.Item1 = dto.WorkItems[0]?.Omschrijving?.Omschrijving; dto.Item2 = dto.WorkItems[1]?.Omschrijving?.Omschrijving; dto.Item3 = dto.WorkItems[2]?.Omschrijving?.Omschrijving; dto.Item4 = dto.WorkItems[3]?.Omschrijving?.Omschrijving; dto.Item5 = dto.WorkItems[4]?.Omschrijving?.Omschrijving; dto.Item6 = dto.WorkItems[5]?.Omschrijving?.Omschrijving; dto.Item1Prijs = dto.WorkItems[0]?.BrutoPrijs.ToString("#.00"); dto.Item2Prijs = dto.WorkItems[1]?.BrutoPrijs.ToString("#.00"); dto.Item3Prijs = dto.WorkItems[2]?.BrutoPrijs.ToString("#.00"); dto.Item4Prijs = dto.WorkItems[3]?.BrutoPrijs.ToString("#.00"); dto.Item5Prijs = dto.WorkItems[4]?.BrutoPrijs.ToString("#.00"); dto.Item6Prijs = dto.WorkItems[5]?.BrutoPrijs.ToString("#.00"); return(dto); }
public byte[] FillTemplateWithOfferteData(OfferteDTO dataObject) { var workbook = GetOfferteTemplate(); try { FillOfferteWorkbook(dataObject, workbook); using (var memoryStream = new MemoryStream()) { workbook.SaveAs(memoryStream); return(memoryStream.ToArray()); } } finally { if (workbook != null) { workbook.Dispose(); } } }