public async Task <IActionResult> BonAanmaken(int index, BonAanmakenViewModel model) { ViewData["AlleCategorien"] = _categorieRepository.GetAll().ToList(); ViewData["Index"] = index; var gebruiker = await HaalGebruikerOp(); Bestelling bestelling = _bestellingRepository.GetBy(gebruiker.Bestellingen.Last().BestellingId); ViewData["Bestelling"] = bestelling; IList <BestelLijn> bestellijnen = HaalBestellijnenOp(bestelling).ToList(); ViewData["Bestellijnen"] = bestellijnen; if (ModelState.IsValid) { BestelLijn bestelLijn = bestellijnen[(int)index]; bestelLijn.VerzenderNaam = model.UwNaam; bestelLijn.VerzenderEmail = model.UwEmail; bestelLijn.OntvangerNaam = model.NaamOntvanger; if (model.Boodschap != null && model.Boodschap != "") { bestelLijn.Boodschap = model.Boodschap; } if (model.EmailOntvanger != null && model.EmailOntvanger != "") { bestelLijn.OntvangerEmail = model.EmailOntvanger; } _bestellijnRepository.SaveChanges(); maakBonAan(bestelLijn); if ((index + 1) == bestellijnen.Count) { return(RedirectToAction(nameof(CheckoutController.Betaling), "Checkout", new { Id = bestelling.BestellingId })); } return(RedirectToAction(nameof(CheckoutController.BonAanmaken), "Checkout", new { index = index + 1 })); } return(View(model)); }
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()); }