private LidInfoModel LijstModelInitialiseren(int groepsWerkJaarID, int groepID, LidEigenschap sortering) { // TODO (#1033): deze code moet opgekuist worden var model = new LidInfoModel(); BaseModelInit(model, groepID); // Laad de lijst van werkjaren in van de groep en zet de juiste info over het te tonen werkJaar model.WerkJaarInfos = ServiceHelper.CallService <IGroepenService, IEnumerable <WerkJaarInfo> >(e => e.WerkJarenOphalen(groepID)); var gevraagdwerkjaar = (from g in model.WerkJaarInfos where g.ID == groepsWerkJaarID select g).FirstOrDefault(); if (gevraagdwerkjaar == null) // Het is geen groepswerkjaar van de gegeven groep { return(null); } model.IDGetoondGroepsWerkJaar = groepsWerkJaarID; model.JaartalGetoondGroepsWerkJaar = gevraagdwerkjaar.WerkJaar; // TODO (#1033): Hetgeen hieronder opgevraagd wordt, zit volgens mij al in de reeds opgehaalde model.WerkJaarInfos. Na te kijken. model.JaartalHuidigGroepsWerkJaar = ServiceHelper.CallService <IGroepenService, GroepsWerkJaarDetail>(e => e.RecentsteGroepsWerkJaarOphalen(groepID)).WerkJaar; // Haal alle afdelingsjaren op van de groep in het groepswerkjaar var list = ServiceHelper.CallService <IGroepenService, IList <AfdelingDetail> >(groep => groep.ActieveAfdelingenOphalen(groepsWerkJaarID)); // Laad de afdelingen in het model in via een dictionary model.AfdelingsInfoDictionary = new Dictionary <int, AfdelingDetail>(); foreach (var ai in list) { model.AfdelingsInfoDictionary.Add(ai.AfdelingID, ai); } // Haal alle functies op van de groep in het groepswerkjaar // ***************************************************** // ** OPGELET! Als je debugger hieronder crasht, dan ** // ** zit er waarschijnlijk een functie met ongeldig ** // ** lidtype in de functietabel! ** // ***************************************************** var list2 = ServiceHelper.CallService <IGroepenService, IEnumerable <FunctieDetail> >(groep => groep.FunctiesOphalen(groepsWerkJaarID, LidType.Alles)); model.FunctieInfoDictionary = new Dictionary <int, FunctieDetail>(); foreach (var fi in list2) { model.FunctieInfoDictionary.Add(fi.ID, fi); } model.PageHuidig = model.IDGetoondGroepsWerkJaar; model.PageTotaal = model.WerkJaarInfos.Count(); model.GekozenSortering = sortering; return(model); }
/// <summary> /// Voert de gekozen actie in de dropdownlist van de ledenlijst uit op de geselecteerde /// personen. /// </summary> /// <param name="model">De property GekozenActie bepaalt wat er zal gebeuren met de gelieerde personen /// met ID's in de property SelectieGelieerdePersoonIDs.</param> /// <param name="groepID">ID van de groep waarin de gebruiker op dit moment aan het werken is.</param> /// <returns>Een redirect naar de juiste controller action</returns> private ActionResult ToepassenOpSelectie(LidInfoModel model, int groepID) { // In eerste instantie is dit voornamelijk copy/paste uit de personencontroller. if (model.SelectieGelieerdePersoonIDs == null || !model.SelectieGelieerdePersoonIDs.Any()) { TempData["fout"] = Resources.NiemandGeselecteerdFout; return(TerugNaarVorigeLijst()); } switch (model.GekozenActie) { case 1: // hack met tempdata, want inschrijven zit in de personencontroller. // Als je dit zou wijzigen, let er dan op dat je #2714 niet terug introduceert. TempData["gpids"] = model.SelectieGelieerdePersoonIDs; return(RedirectToAction("InschrijvenTempData", "Personen", new { groepID })); case 2: GelieerdePersonenUitschrijven(model.SelectieGelieerdePersoonIDs, groepID, Resources.LedenUitgeschreven); return(RedirectToAction("Index", new { groepID })); case 3: return(AfdelingenBewerken(model.SelectieGelieerdePersoonIDs, groepID)); case 4: TempData["ids"] = model.SelectieGelieerdePersoonIDs; return(RedirectToAction("InschrijvenVoorUitstap", "Personen", new { groepID })); default: TempData["fout"] = Resources.OnbestaandeActieFeedback; return(TerugNaarVorigeLijst()); } }
public ActionResult Lijst(int id, int groepID, LidInfoModel model) { if (model.GekozenActie > 0) { return(ToepassenOpSelectie(model, groepID)); } switch (model.SpecialeLijst) { case LidInfoModel.SpecialeLedenLijst.Alles: return(RedirectToAction("Lijst", new { id, groepID })); case LidInfoModel.SpecialeLedenLijst.VerjaardagsLijst: return(RedirectToAction("Lijst", new { id, afdelingID = model.AfdelingID, functieID = model.FunctieID, ledenLijst = model.SpecialeLijst, sortering = LidEigenschap.Verjaardag, groepID })); default: return(RedirectToAction("Lijst", new { id, afdelingID = model.AfdelingID, functieID = model.FunctieID, ledenLijst = model.SpecialeLijst, sortering = model.GekozenSortering, groepID })); } }