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());
        }