public override IViewModel CreateMaterialenViewModel(SelectList doelgroepen, SelectList leergebieden, IEnumerable <Materiaal> lijst)
        {
            IViewModel vm = new MaterialenViewModel
            {
                Materialen           = lijst.Select(b => new MateriaalViewModel(b)),
                DoelgroepSelectList  = new DoelgroepViewModel(doelgroepen),
                LeergebiedSelectList = new LeergebiedViewModel(leergebieden)
            };

            return(vm);
        }
Exemple #2
0
        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));
        }