public ActionResult Bevestiging() { //gebruiker opzoeken if (Request["zoek"] != null) { var naam = Request["naam"]; var paswoord = Request["paswoord"]; var klant = db.GetKlant(naam, paswoord); if (klant != null) Session["klant"] = klant; else ViewBag.errorMessage = "Verkeerde gebruikersnaam of wachtwoord"; return View(); } //nieuwe gebruiker if (Request["nieuw"] != null) { //redirect naar nieuwe klant pagina return RedirectToAction("Nieuw", "Home"); } //bevestig if (Request["bevestig"] != null) { //verwerking klantgegevens via Session["Klant"] var klant = (Klant)Session["klant"]; Session.Remove("klant"); List<MandjeItem> gelukteReservaties = new List<MandjeItem>(); List<MandjeItem> mislukteReservaties = new List<MandjeItem>(); //haal alle reservaties uit de session foreach (string nummer in Session) { Reservatie nieuweReservatie = new Reservatie(); nieuweReservatie.VoorstellingsNr = int.Parse(nummer); nieuweReservatie.Plaatsen = Convert.ToInt16(Session[nummer]); nieuweReservatie.KlantNr = klant.KlantNr; Voorstelling voorstelling = db.GetVoorstelling(nieuweReservatie.VoorstellingsNr); if (voorstelling.VrijePlaatsen >= nieuweReservatie.Plaatsen) { //opslaan in database db.BewaarReservatie(nieuweReservatie); gelukteReservaties.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Datum, voorstelling.Prijs, nieuweReservatie.Plaatsen)); } else { mislukteReservaties.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Datum, voorstelling.Prijs, nieuweReservatie.Plaatsen)); } } Session.RemoveAll(); Session["gelukt"] = gelukteReservaties; Session["mislukt"] = mislukteReservaties; return RedirectToAction("Overzicht", "Home"); } return View(); }
public void BewaarReservatie(Reservatie gelukteReservatie) { using (var db = new CultuurHuisMVCEntities()) { var voorstelling = db.Voorstellingen.Find(gelukteReservatie.VoorstellingsNr); voorstelling.VrijePlaatsen -= gelukteReservatie.Plaatsen; db.Reservaties.Add(gelukteReservatie); db.SaveChanges(); } }