Exemple #1
0
        public ActionResult TerugDraaien(MasterViewModel model, int groepID)
        {
            BaseModelInit(model, groepID);

            ServiceHelper.CallService <IGroepenService>(
                svc => svc.JaarOvergangTerugDraaien(VeelGebruikt.GroepsWerkJaarOphalen(groepID).WerkJaarID));
            // Clear cache voor groep.
            VeelGebruikt.AllesResetten(groepID);
            return(RedirectToAction("Index", "Leden", new { groepID }));
        }
Exemple #2
0
        public ActionResult Stap2AfdelingsJarenVerdelen(JaarOvergangAfdelingsJaarModel model, int groepID)
        {
            // Als alles goed loopt, hebben we deze straks nodig.
            int vorigGwjID = ServiceHelper.CallService <IGroepenService, int>(svc => svc.RecentsteGroepsWerkJaarIDGet(groepID));

            // We gebruiken de modelstate om te laten zien dat het model al dan niet geldig is. Die verificatie
            // gebeurt op dit moment gedeeltelijk door de backend, dus moeten we eerst de backend aanroepen.

            try
            {
                ServiceHelper.CallService <IGroepenService>(s => s.JaarOvergangUitvoeren(model.Afdelingen, groepID));
            }
            catch (FaultException <FoutNummerFault> ex)
            {
                switch (ex.Detail.FoutNummer)
                {
                case FoutNummer.OngeldigeGeboorteJarenVoorAfdeling:
                    ModelState.AddModelError("NieuwWerkjaar", Properties.Resources.OngeldigeGeboorteJarenVoorAfdeling);
                    break;

                default:
                    ModelState.AddModelError("NieuwWerkJaar", ex.Detail.Bericht);
                    break;
                }
            }

            if (!ModelState.IsValid)
            {
                // Model herstellen op basis van ingevulde gegevens.

                BaseModelInit(model, groepID);

                model.NieuwWerkjaar =
                    ServiceHelper.CallService <IGroepenService, int>(g => g.NieuwWerkJaarOphalen(groepID));
                model.OfficieleAfdelingen =
                    ServiceHelper.CallService <IGroepenService, IEnumerable <OfficieleAfdelingDetail> >(
                        e => e.OfficieleAfdelingenOphalen()).ToArray();

                var alleAfdelingen =
                    ServiceHelper.CallService <IGroepenService, IList <AfdelingInfo> >(
                        svc => svc.AlleAfdelingenOphalen(groepID));

                // De meeste gegevens in model.Afdelingen komen mooi terug uit het form. We moeten
                // enkel de namen van de afdelingen terug invullen.

                foreach (var aj in model.Afdelingen)
                {
                    aj.AfdelingNaam =
                        (from afd in alleAfdelingen where afd.ID == aj.AfdelingID select afd.Naam).FirstOrDefault();
                }

                return(View("Stap2AfdelingsJarenVerdelen", model));
            }

            VeelGebruikt.AllesResetten(groepID);

            if (!model.LedenMeteenInschrijven)
            {
                return(RedirectToAction("Index", "Leden"));
            }

            return(RedirectToAction("Herinschrijven", "Personen", new { groepID, groepsWerkJaarID = vorigGwjID }));
        }