コード例 #1
0
        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 }));
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
 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();
 }