// GET: Catalogus public ActionResult Index(Gebruiker gebruiker, String filter = "", int doelgroepId = 0, int leergebiedId = 0) { IEnumerable <MateriaalViewModel> materialen = materiaalRepository.FindByFilter(filter, doelgroepId, leergebiedId) .Select(m => new MateriaalViewModel(m) { IsInWishList = gebruiker.WishList.Contains(m) }); ViewBag.Doelgroepen = GroepenSelectList(groepRepository.FindAllDoelGroepen()); ViewBag.Leergebieden = GroepenSelectList(groepRepository.FindAllLeerGebieden()); ViewBag.doelgroepId = doelgroepId; ViewBag.leergebiedId = leergebiedId; ViewBag.filter = filter; if (gebruiker.CanSeeAllMaterials()) // If lector return all materialen { return(View(materialen)); } else // If student return only available, in stock materialen { return(View(materialen.Where(m => m.IsLendable))); } //return View(materialen); }
//test public void ConstructReservatieViewModels(Reservatie reservatie, ReservatieViewModel rvm, Gebruiker gebruiker) { List <ReservatieLijn> reservatielijnen = reservatie.ReservatieLijnen. OrderBy(rl => rl.Materiaal.Name).ToList(); for (int i = 0; i < reservatielijnen.Count; i++) { int aantalSlechtsBeschikbaar = reservatielijnen[i].FindConflicts(gebruiker.CanSeeAllMaterials()); if (aantalSlechtsBeschikbaar != 0) { rvm.Conflict = true; } rvm.ReservatieLijnen[i].AantalSlechtsBeschikbaar = aantalSlechtsBeschikbaar; } }
public void TestStudentCanNotSeeAllMaterials() { Assert.IsFalse(student.CanSeeAllMaterials()); }