public ActionResult Index(Gebruiker gebruiker, int[] doelgroepenLijst, int[] leergebiedenLijst, string trefwoord) { IList <Materiaal> materialen = new List <Materiaal>(); //Indien er geen checkboxen aangeklikt werden zulllen alle materialen getoont worden. if (doelgroepenLijst == null && leergebiedenLijst == null && (trefwoord == null || trefwoord.IsEmpty())) { materialen = materiaalRepository.FindAll().ToList(); } else { if (doelgroepenLijst == null && leergebiedenLijst == null) { if (!trefwoord.IsEmpty()) { materialen = materiaalRepository.FindByTrefWoord(trefwoord).ToList(); } } else { materialen = GeefGefilterdeMaterialen(doelgroepenLijst, leergebiedenLijst, materialen); } } if (gebruiker is Student) { materialen = materialen.Where(m => m.IsReserveerBaar != null && (bool)m.IsReserveerBaar).ToList(); } if (gebruiker.Verlanglijst == null) { gebruiker.Verlanglijst = new Verlanglijst(); } materialen.ForEach(m => { m.InVerlanglijst = gebruiker.Verlanglijst.BevatMateriaal(m); }); factory = new MaterialenViewModelFactory(); MaterialenViewModel vm = factory.CreateMaterialenViewModel(GetDoelgroepenSelectedList(0), GetLeergebiedSelectedList(0), materialen) as MaterialenViewModel; if (Request.IsAjaxRequest()) { return(PartialView("Catalogus", vm)); } return(View("Index", vm)); }
public ActionResult VerwijderUitVerlanglijst(int id, Gebruiker gebruiker) { Materiaal materiaal = materiaalRepository.FindAll().FirstOrDefault(m => m.MateriaalId == id); if (materiaal != null) { try { gebruiker.VerwijderMateriaalUitVerlanglijst(materiaal); gebruikerRepository.SaveChanges(); TempData["Info"] = $"Item {materiaal.Naam} werd verwijderd uit uw verlanglijst"; } catch (ArgumentException ex) { TempData["Error"] = ex.Message; } } return(RedirectToAction("Index")); }
private IList <Materiaal> GeefMaterialenVanId(int[] materiaal) { return(materiaal.Select(id => materiaalRepository.FindAll().FirstOrDefault(m => m.MateriaalId == id)).ToList()); }