public ActionResult FunctiesToekennen(LidFunctiesModel model, int id, int groepID) { // TODO (#1036): Dit moet een atomaire operatie zijn, om concurrencyproblemen te vermijden. try { ServiceHelper.CallService <ILedenService>(l => l.FunctiesVervangen(id, model.FunctieIDs)); VeelGebruikt.FunctieProblemenResetten(groepID); TempData["succes"] = Resources.WijzigingenOpgeslagenFeedback; } catch (FaultException <FoutNummerFault> ex) { var lidInfo = ServiceHelper.CallService <ILedenService, PersoonLidInfo>(svc => svc.DetailsOphalen(id)); string naam = lidInfo.PersoonDetail.VolledigeNaam; string persoonlijk = lidInfo.PersoonDetail.Geslacht == GeslachtsType.Vrouw ? "haar" : "hem"; string bezittelijk = lidInfo.PersoonDetail.Geslacht == GeslachtsType.Vrouw ? "haar" : "zijn"; switch (ex.Detail.FoutNummer) { case FoutNummer.EMailVerplicht: TempData["fout"] = String.Format(Resources.EmailVoorContactOntbreekt, naam, persoonlijk); break; case FoutNummer.ContactMoetNieuwsBriefKrijgen: TempData["fout"] = String.Format(Resources.ContactMoetNieuwsBriefKrijgen, naam, bezittelijk); break; default: throw; } } return(RedirectToAction("Bewerken", "Personen", new { groepID, id = model.Persoon.GelieerdePersoonID })); }
public ActionResult FunctiesToekennen(int id, int groepID) { var model = new LidFunctiesModel(); BaseModelInit(model, groepID); model.Persoon = ServiceHelper.CallService <ILedenService, PersoonInfo>(l => l.PersoonOphalen(id)); model.LidInfo = ServiceHelper.CallService <ILedenService, LidInfo>(svc => svc.LidInfoOphalen(id)); if (model.Persoon != null) { // Ik had liever hierboven nog eens LidExtras.AlleAfdelingen meegegeven, maar // het datacontract (LidInfo) voorziet daar niets voor. FunctiesOphalen(model); model.Titel = String.Format( Resources.FunctiesVan, String.Format("{0} {1}", model.Persoon.VoorNaam, model.Persoon.Naam)); return(View("FunctiesToekennen", model)); } else { TempData["fout"] = Resources.GegevensOpvragenMisluktFout; return(RedirectToAction("Index", groepID)); } }
public void FunctiesOphalen(LidFunctiesModel model) { model.AlleFuncties = ServiceHelper.CallService <IGroepenService, IEnumerable <FunctieDetail> > (svc => svc.FunctiesOphalen( model.LidInfo.GroepsWerkJaarID, model.LidInfo.Type)); model.FunctieIDs = (from f in model.LidInfo.Functies select f.ID).ToList(); }