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)); }