public async Task <IActionResult> DetailBestelling(int id) { ViewData["AlleCategorien"] = _categorieRepository.GetAll().ToList(); ViewData["bestellijnen"] = null; var user = await _userManager.GetUserAsync(User); var gebruiker = _gebruikerRepository.GetBy(user.Email); if (_bestellingRepository.GetBy(id) != null) { var bestelling = _bestellingRepository.GetBy(id); var gebruiker2 = _gebruikerRepository.GetByBestellingId(id); if (gebruiker == gebruiker2) { ICollection <BestelLijn> bestellijnen = new HashSet <BestelLijn>(); //maak vervallen bonnen vervallen (visueel) foreach (BestelLijn bon in bestelling.BestelLijnen.Where(bl => bl.Geldigheid == Geldigheid.Geldig && DateTime.Today > bl.AanmaakDatum.AddYears(1))) { bon.Geldigheid = Geldigheid.Verlopen; } _bestellijnRepository.SaveChanges(); //toon bonnen in bestelling en maak bijhorende pdf's foreach (BestelLijn bl in bestelling.BestelLijnen) { GeneratePDF(bl.BestelLijnId); bestellijnen.Add(_bestellijnRepository.GetById(bl.BestelLijnId)); } ViewData["bestellijnen"] = bestellijnen; ViewData["bestelid"] = bestelling.BestellingId; } } return(View()); }
public async Task <IActionResult> Bedankt(int Id) { ViewData["AlleCategorien"] = _categorieRepository.GetAll().ToList(); Bestelling bestelling = _bestellingRepository.GetBy(Id); if (_signInManager.IsSignedIn(User)) { var aanvragerUser = await _userManager.GetUserAsync(User); var aanvrager = _gebruikerRepository.GetBy(aanvragerUser.Email); var besteller = _gebruikerRepository.GetByBestellingId(Id); if (aanvrager == besteller) { ICollection <BestelLijn> bestellijnen = HaalBestellijnenOp(bestelling); IList <BestelLijn> bestellijnlijst = bestellijnen.ToList(); ViewData["bestellijnen"] = bestellijnlijst; // step 1: creation of a document-object Document document = new Document(); // step 2: we create a writer that listens to the document PdfCopy writer = new PdfCopy(document, new FileStream(@"wwwroot/pdf/merged_" + bestellijnlijst[0].QRCode + ".pdf", FileMode.Create)); if (writer != null) { // step 3: we open the document document.Open(); foreach (var bestellijn in bestellijnen) { // we create a reader for a certain document PdfReader reader = new PdfReader(@"wwwroot/pdf/c_" + bestellijn.QRCode + ".pdf"); reader.ConsolidateNamedDestinations(); // step 4: we add content for (int i = 1; i <= reader.NumberOfPages; i++) { PdfImportedPage page = writer.GetImportedPage(reader, i); writer.AddPage(page); } //PRAcroForm form = reader.AcroForm; //if (form != null) //{ // writer.CopyAcroForm(reader); //} reader.Close(); } // step 5: we close the document and writer writer.Close(); document.Close(); return(View()); } } } //anoniem of hackattempt -> geen download knop ViewData["bestellijnen"] = null; return(View()); }