// GET: Reserveringen/Edit/5 public ActionResult Edit(int id) { try { //de gekozen reservering en de medewerker die erbij hoort weergeven Reservering reservering = reserveringenService.ReserveringWeergeven(id); Medewerker medewerker = medewerkersService.MedewerkerWeergeven(reservering.MedewerkersId); //viewmodel aanmaken met reservering, alle medewerkers en alle zalen voor in dropdownlijsten ReserveringAanmakenVM reserveringAanmakenVM = new ReserveringAanmakenVM() { Reservering = reservering, AlleMedewerkers = medewerkersService.AllePersonenMedewerkersWeergeven(), AlleZalen = zalenService.AlleZalenWeergeven(), Persoon = personenService.PersoonWeergeven(medewerker.PersoonsId) }; //de edit pagina weergeven met het viewmodel return(View(reserveringAanmakenVM)); } //indien er iets misloopt de error pagina weergeven catch { return(View("Error")); } }
public ActionResult Edit(ReserveringAanmakenVM reserveringAanmakenVM) { try { //reservering ophalen uit het viewmodel Reservering reservering = reserveringAanmakenVM.Reservering; //lijst aanmaken met alle reserveringen per zaal a.d.h.v. het zaalid List <Reservering> alleReserveringenPerZaal = reserveringenService.AlleReserveringenPerZaalWeergeven(reservering.ZaalId); //de datum uit het viewmodel halen indien deze gewijzigd is DateTime aanTeMakenDatum = new DateTime(reservering.Reserveringsdatum.Year, reservering.Reserveringsdatum.Month, reservering.Reserveringsdatum.Day, reservering.Reserveringsuur.Hours, reservering.Reserveringsuur.Minutes, reservering.Reserveringsuur.Seconds); //voor elke reservering in de lijst van reserveringen als de nieuwe reservering minder is dan een uur voor of na het uur van de reservering in de lijst die hij aan het controleren is gaat de viewbag "reservatieTijdBezet" op "Bezet" gezet worden en gaan we een exception gooien zodat we naar de "catch" gaan en dan wordt de pagina opnieuw getoond met een boodschap dat het niet lukt foreach (var item in alleReserveringenPerZaal) { if (aanTeMakenDatum < item.Reserveringsdatum.AddHours(1) && aanTeMakenDatum > item.Reserveringsdatum.AddHours(-1) && item.ReserveringsId != reservering.ReserveringsId) { ViewBag.reservatieTijdBezet = "Bezet"; throw new Exception(); } } //de oude reservering ophalen uit de database Reservering oudeReservering = reserveringenService.ReserveringWeergeven(reserveringAanmakenVM.Reservering.ReserveringsId); //de nieuwe reservering ophalen uit het viewmodel en de propperties eraan toekennen Reservering teWijzigenReservering = reserveringAanmakenVM.Reservering; teWijzigenReservering.Actief = true; teWijzigenReservering.Reserveringsdatum = aanTeMakenDatum; teWijzigenReservering.MedewerkersId = medewerkersService.MedewerkersIdAdhvPersoonsIdWeergeven(reserveringAanmakenVM.Persoon.PersoonsId); //de methode aanspreken om de reservering te wijzigen reserveringenService.ReserveringWijzigen(teWijzigenReservering); //terugsturen naar de index pagina return(RedirectToAction("Index")); } //indien er iets misloopt gaan we opnieuw de viewmodel met gegevens meegeven en de create pagina opnieuw weergeven catch { if (ViewBag.reservatieTijdBezet == null) { ViewBag.Message = "Fout"; } reserveringAanmakenVM.AlleZalen = zalenService.AlleZalenWeergeven(); reserveringAanmakenVM.AlleMedewerkers = medewerkersService.AllePersonenMedewerkersWeergeven(); return(View(reserveringAanmakenVM)); } }
public ActionResult Create(ReserveringAanmakenVM reserveringAanmakenVM) { try { //reservering ophalen uit het viewmodel Reservering reservering = reserveringAanmakenVM.Reservering; //lijst aanmaken met alle reserveringen die bij een zaal horen List <Reservering> alleReserveringenPerZaal = reserveringenService.AlleReserveringenPerZaalWeergeven(reservering.ZaalId); //hier maken we een datum die de datum is die ingegeven werd door de gebruiker DateTime aanTeMakenDatum = new DateTime(reservering.Reserveringsdatum.Year, reservering.Reserveringsdatum.Month, reservering.Reserveringsdatum.Day, reservering.Reserveringsuur.Hours, reservering.Reserveringsuur.Minutes, reservering.Reserveringsuur.Seconds); //voor elke reservering in de lijst van reserveringen als de nieuwe reservering minder is dan een uur voor of na het uur van de reservering in de lijst die hij aan het controleren is gaat de viewbag "reservatieTijdBezet" op "Bezet" gezet worden en gaan we een exception gooien zodat we naar de "catch" gaan en dan wordt de pagina opnieuw getoond met een boodschap dat het niet lukt foreach (var item in alleReserveringenPerZaal) { if (aanTeMakenDatum < item.Reserveringsdatum.AddHours(1) && aanTeMakenDatum > item.Reserveringsdatum.AddHours(-1)) { ViewBag.reservatieTijdBezet = "Bezet"; throw new Exception(); } } //is de tijd wel goed gaan we een reservatie aanmaken reservering.Actief = true; reservering.Reserveringsdatum = aanTeMakenDatum; reservering.MedewerkersId = medewerkersService.MedewerkersIdAdhvPersoonsIdWeergeven(reserveringAanmakenVM.Persoon.PersoonsId); //de reservering toevoegen aan de database reserveringenService.ReserveringToevoegen(reservering); //terugsturen naar de index pagina return(RedirectToAction("Index")); } //indien er iets misloopt gaan we opnieuw de viewmodel met gegevens meegeven en de create pagina opnieuw weergeven catch { if (ViewBag.reservatieTijdBezet == null) { ViewBag.Message = "Fout"; } reserveringAanmakenVM.AlleZalen = zalenService.AlleZalenWeergeven(); reserveringAanmakenVM.AlleMedewerkers = medewerkersService.AllePersonenMedewerkersWeergeven(); return(View(reserveringAanmakenVM)); } }
// GET: Reserveringen/Create public ActionResult Create() { try { //viewmodel aanmaken met alle medewerkers en alle zalen ReserveringAanmakenVM reserveringAanmakenVM = new ReserveringAanmakenVM() { AlleMedewerkers = medewerkersService.AllePersonenMedewerkersWeergeven(), AlleZalen = zalenService.AlleZalenWeergeven() }; //de create pagina weergeven met het viewmodel return(View(reserveringAanmakenVM)); } //indien er iets misloopt wordt de error pagina weergegeven catch { return(View("Error")); } }