예제 #1
0
        // 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"));
            }
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
        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));
            }
        }
예제 #4
0
        // 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"));
            }
        }