public IActionResult Reserveer(int id, ReservatieViewModel viewmodel, Klant klant) { if (ModelState.IsValid) { try { Catering catering = viewmodel.CateringId != 0 ? _cateringRepository.GetBy(viewmodel.CateringId) : null; Vergaderruimte ruimte = _vergaderruimteRepository.GetById(id); Reservatie reservatie = ruimte.Reserveer(klant, _kortingRepository.GetAll(), viewmodel.Dag, viewmodel.BeginUur, viewmodel.Duur, viewmodel.AantalPersonen, catering, viewmodel.StandaardCatering); _vergaderruimteRepository.SaveChanges(); return(View("Bevestiging", reservatie)); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } ViewData["catering"] = new SelectList(_cateringRepository.GetAll().OrderBy(c => c.Titel), nameof(Catering.Id), nameof(Catering.Titel)); return(View(viewmodel)); }
public IActionResult Reserveer(int id, ReservatieViewModel viewmodel, Klant klant) { if (ModelState.IsValid) { try { Catering catering = viewmodel.CateringId != 0 ? _cateringRepository.GetBy(viewmodel.CateringId) : null; Vergaderruimte ruimte = _vergaderruimteRepository.GetById(id); Reservatie reservatie = ruimte.Reserveer(klant, _kortingRepository.GetAll(), viewmodel.Dag, viewmodel.BeginUur, viewmodel.Duur, viewmodel.AantalPersonen, catering, viewmodel.StandaardCatering); _vergaderruimteRepository.SaveChanges(); TempData["message"] = $"Je reservatie voor {ruimte.Naam} op {reservatie.Dag.ToShortDateString()} werd geregistreerd..."; } catch (Exception ex) { TempData["error"] = "Sorry, er is iets mis gegaan, we konden de vergaderruimte niet reserveren..."; } return(RedirectToAction(nameof(Index))); } ViewData["catering"] = new SelectList(_cateringRepository.GetAll().OrderBy(c => c.Titel), nameof(Catering.Id), nameof(Catering.Titel)); return(View(viewmodel)); }
[InlineData(8, 2, 90)] // teveel personen public void Reserveer_OngeldigeGegevens_WerptArgumentException(int beginUur, int aantalUren, int aantalPersonen) { Assert.Throws <ArgumentException>(() => _vergaderruimte.Reserveer(_klantZonderReservaties, _context.Kortingen, _context.Dag.AddDays(20), beginUur, aantalUren, aantalPersonen, null, true)); }
public void Reserveer_DatumLigtNietInDeToekomst_WerptArgumentException() { Assert.Throws <ArgumentException>(() => _vergaderruimte.Reserveer(_klantZonderReservaties, _context.Kortingen, DateTime.Today, 8, 10, 10, null, true)); }