// GET: Verlanglijst public ActionResult Index(Gebruiker gebruiker) { DateTime startDatum; if (gebruiker.Verlanglijst.Materialen.Count == 0) { return(View("LegeVerlanglijst")); } if (IsWeekend()) { startDatum = HulpMethode.FirstDateOfWeekISO8601(DateTime.Now.Year, (HulpMethode.GetIso8601WeekOfYear(DateTime.Now) + 2) % 53); } else { startDatum = HulpMethode.FirstDateOfWeekISO8601(DateTime.Now.Year, (HulpMethode.GetIso8601WeekOfYear(DateTime.Now) + 1) % 53); } if (gebruiker is Lector) { startDatum = DateTime.Now; } string startD = startDatum.ToString("d", dtfi); return(Controle(gebruiker, null, null, false, startD, null)); }
public override IViewModel CreateReservatiesViewModel(Dictionary <DateTime, IEnumerable <ReservatieDetailViewModel> > map, Materiaal materiaal, int week, DateTimeFormatInfo dtfi) { ReservatiesDetailViewModel vm = new ReservatiesDetailViewModel { ReservatieMap = map, Material = materiaal, GeselecteerdeWeek = week != -1 ? HulpMethode.FirstDateOfWeekISO8601(DateTime.Now.Year, week).ToString("d", dtfi) : "" }; return(vm); }
public override IViewModel CreateReservatieDetailViewModel(Reservatie reservatie) { ReservatieDetailViewModel vm = new ReservatieDetailViewModel { Aantal = reservatie.AantalGereserveerd, Email = reservatie.Gebruiker.Email, Status = reservatie.ReservatieState.GetType().Name.ToLower(), Type = reservatie.Gebruiker is Lector ? "Lector" : "Student", GeblokkeerdOp = reservatie.Gebruiker is Lector?HulpMethode.DatesToString(reservatie.GeblokkeerdeDagen.Select(d => d.Datum)) : "" }; return(vm); }
public void ReservatieDetails4Geblokeerd5Gereserveerd() { m.AddReservatie(context.ReservatieWeek1Aantal5Student); dagenString = new[] { "15/03/2016", "16/03/2016" }; MaakBlokkeringLector(dagenString, 4); int week = HulpMethode.GetIso8601WeekOfYear(Convert.ToDateTime(context.StartDatum)); PartialViewResult result = verlanglijstController.ReservatieDetails(student, m.MateriaalId, week) as PartialViewResult; ReservatiesDetailViewModel vm = result.Model as ReservatiesDetailViewModel; Materiaal materiaal = vm.Material; IList <Reservatie> reservaties = materiaal.Reservaties; Assert.AreEqual(2, materiaal.Reservaties.Count); Assert.AreEqual(m.Reservaties, materiaal.Reservaties); }
public void MaakReservatie(Gebruiker gebruiker, int[] materiaal, int[] aantal, string startDatum, string[] dagen) { IList <Materiaal> materialen = GeefMaterialenVanId(materiaal); string eersteDag = HulpMethode.GetStartDatum(startDatum).ToShortDateString(); if (materialen.Count > 0) { IDictionary <Materiaal, int> potentieleReservaties = InvullenVanMapMetPotentieleReservaties(aantal, materialen); try { if (gebruiker is Student) { Student student = gebruiker as Student; student.MaakReservaties(potentieleReservaties, eersteDag); VerstuurMailStudent(potentieleReservaties, eersteDag, student); TempData["Info"] = $"Reservatie werd aangemaakt"; } else { Lector lector = gebruiker as Lector; lector.MaakBlokkeringen(potentieleReservaties, eersteDag, dagen); VerstuurMailBlokkeringLector(potentieleReservaties, dagen, lector); IList <Reservatie> overruled = lector.OverruledeReservaties; VerstuurMailNaarStudentDieOverruledIs(overruled); TempData["Info"] = $"Reservatie werd aangemaakt"; } gebruikerRepository.SaveChanges(); } catch (ArgumentException ex) { TempData["Error"] = ex.Message; } } }
public ActionResult Controle(Gebruiker gebruiker, int[] materiaal, int[] aantal, bool naarReserveren, string startDatum, string[] dagen) { //Variabelen bool allesBeschikbaar = false; IList <Materiaal> materialen = new List <Materiaal>(); Dictionary <int, int> materiaalMap = new Dictionary <int, int>(); factory = new VerlanglijstMaterialenViewModelFactory(); DateTime startDate = HulpMethode.GetStartDatum(startDatum); if (startDate < DateTime.Now) { startDate = DateTime.Today; } DateTime eindDate = HulpMethode.GetEindDatum(startDatum); //Indien er materialen geselecteerd zijn wordt er gekeken of er voor dat materiaal voldoende beschikbaar zijn //voor de gekozen periode. IList <DateTime> dagLijst = dagen?.Select(Convert.ToDateTime).ToList(); var dateString = dagLijst != null?HulpMethode.DatesToString(dagLijst) : HulpMethode.DateToString(startDate); if (materiaal != null) { materialen = GeefMaterialenVanId(materiaal); materiaalMap = gebruiker.GetMateriaalAantalMap(materiaal, aantal); allesBeschikbaar = ControleGeselecteerdMateriaal(gebruiker, materialen, aantal, startDate, eindDate, dagLijst); } var vm = factory.CreateVerlanglijstMaterialenViewModel(materialen, gebruiker.Verlanglijst.Materialen, dateString, startDate, eindDate, materiaalMap, allesBeschikbaar && naarReserveren, dagLijst, gebruiker) as VerlanglijstMaterialenViewModel; if (Request.IsAjaxRequest()) { if (naarReserveren && allesBeschikbaar) { return(PartialView("Confirmatie", vm)); } return(PartialView("Verlanglijst", vm)); } return(View("Index", vm)); }
public JsonResult ReservatieDetailsGrafiek(int id, int week, bool perDag) { Materiaal materiaal = materiaalRepository.FindById(id); DateTime[] dagenVanDeWeek = null; if (perDag) { dagenVanDeWeek = new DateTime[5]; DateTime maandag = HulpMethode.FirstDateOfWeekISO8601(DateTime.Now.Year, week); dagenVanDeWeek[0] = maandag; for (int i = 1; i < dagenVanDeWeek.Length; i++) { dagenVanDeWeek[i] = maandag.AddDays(i); } } var startDatumFilter = HulpMethode.FirstDateOfWeekISO8601(DateTime.Now.Year, week == -1 ? HulpMethode.GetIso8601WeekOfYear(DateTime.Now) : week); var datumMaandVooruitFilter = startDatumFilter.AddDays(28); List <ReservatieDataDTO> reservatieList = MaakLijstReservatieDataInRange(materiaal, startDatumFilter, datumMaandVooruitFilter, dagenVanDeWeek); return(Json(SerializeObject(reservatieList), JsonRequestBehavior.AllowGet)); }
private void VerstuurMailStudent(IDictionary <Materiaal, int> potentieleReservaties, string startDatum, Gebruiker gebruiker) { MailTemplate mail = mailServiceRepository.GeefMailTemplate("Bevestiging reservatie"); mail.MaakMail(potentieleReservaties, null, startDatum, HulpMethode.GetEindDatum(startDatum).ToShortDateString(), null, gebruiker); }