コード例 #1
0
        public ActionResult Activeren(int groepID, int id)
        {
            var model = new AfdelingsJaarModel();

            BaseModelInit(model, groepID);

            model.OfficieleAfdelingen =
                ServiceHelper.CallService <IGroepenService, IEnumerable <OfficieleAfdelingDetail> >
                    (groep => groep.OfficieleAfdelingenOphalen());

            model.Afdeling = ServiceHelper.CallService <IGroepenService, AfdelingInfo>
                                 (groep => groep.AfdelingOphalen(id));

            model.AfdelingsJaar            = new AfdelingsJaarDetail();
            model.AfdelingsJaar.AfdelingID = model.Afdeling.ID;

            model.Titel = "Afdeling activeren";
            return(View("AfdelingsJaar", model));
        }
コード例 #2
0
        public ActionResult AfdJaarBewerken(int groepID, int id)
        {
            var model = new AfdelingsJaarModel();

            BaseModelInit(model, groepID);

            AfdelingDetail detail = ServiceHelper.CallService <IGroepenService, AfdelingDetail>(svc => svc.AfdelingDetailOphalen(id));

            model.Afdeling = new AfdelingInfo
            {
                ID        = detail.AfdelingID,
                Naam      = detail.AfdelingNaam,
                Afkorting = detail.AfdelingAfkorting
            };

            model.AfdelingsJaar       = detail;       // inheritance :)
            model.OfficieleAfdelingen = ServiceHelper.CallService <IGroepenService, IEnumerable <OfficieleAfdelingDetail> >(groep => groep.OfficieleAfdelingenOphalen());

            model.Titel = "Afdeling bewerken";
            return(View("AfdelingsJaar", model));
        }
コード例 #3
0
        public ActionResult AfdJaarBewerken(AfdelingsJaarModel model, int groepID)
        {
            BaseModelInit(model, groepID);

            // Als de gebruiker een kleiner geboortejaar 'tot' als 'van' ingeeft, wisselen we die stiekem om.  (Ticket #289)

            if (model.AfdelingsJaar.GeboorteJaarTot < model.AfdelingsJaar.GeboorteJaarVan)
            {
                model.AfdelingsJaar.GeboorteJaarVan = model.AfdelingsJaar.GeboorteJaarTot;
                model.AfdelingsJaar.GeboorteJaarTot = model.AfdelingsJaar.GeboorteJaarVan;
            }

            try
            {
                // de view 'AfdJaarBewerken' laat zowel toe de naam en afkorting
                // van de afdeling aan te passen, als de geboortejaren, geslacht en
                // officiele afdeling.
                // Vandaar dat we zowel afdeling als afdelingsjaar moeten aanpassen.
                ServiceHelper.CallService <IGroepenService>(e => e.AfdelingsJaarBewaren(model.AfdelingsJaar));
                ServiceHelper.CallService <IGroepenService>(e => e.AfdelingBewaren(model.Afdeling));
                TempData["succes"] = Properties.Resources.WijzigingenOpgeslagenFeedback;
                return(RedirectToAction("Afdelingen", new { Controller = "Groep", groepID = model.GroepID }));
            }
            catch (FaultException <FoutNummerFault> ex)
            {
                switch (ex.Detail.FoutNummer)
                {
                case FoutNummer.OngeldigeGeboorteJarenVoorAfdeling:
                    ModelState.AddModelError("AfdelingsJaar.GeboorteJaarTot", Properties.Resources.MinimumLeeftijd);
                    break;

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


                // Vul model aan, en toon de view AfdelingsJaar opnieuw
                model.Afdeling =
                    ServiceHelper.CallService <IGroepenService, AfdelingInfo>(
                        svc => svc.AfdelingOphalen(model.AfdelingsJaar.AfdelingID));
                model.OfficieleAfdelingen =
                    ServiceHelper.CallService <IGroepenService, IEnumerable <OfficieleAfdelingDetail> >(
                        svc => svc.OfficieleAfdelingenOphalen());

                model.Titel = "Afdeling bewerken";
                return(View("AfdelingsJaar", model)); // FIXME only reloads part of the previous page
            }
            catch (FaultException <BestaatAlFault <AfdelingInfo> > ex)
            {
                if (
                    String.Compare(ex.Detail.Bestaande.Afkorting, model.Afdeling.Afkorting,
                                   StringComparison.OrdinalIgnoreCase) == 0)
                {
                    ModelState.AddModelError(
                        // De key Afdeling.Afkorting geeft aan dat de fout zit in
                        // Model.Afdeling.Afkorting. Die key moet juist zijn, anders laat
                        // MVC de foutmelding niet zien.
                        "Afdeling.Afkorting",
                        string.Format(
                            Properties.Resources.AfdelingsCodeBestaatAl,
                            ex.Detail.Bestaande.Afkorting,
                            ex.Detail.Bestaande.Naam));
                }
                else if (
                    String.Compare(ex.Detail.Bestaande.Naam, model.Afdeling.Naam,
                                   StringComparison.OrdinalIgnoreCase) == 0)
                {
                    ModelState.AddModelError(
                        "Afdeling.Naam",
                        string.Format(
                            Properties.Resources.AfdelingsNaamBestaatAl,
                            ex.Detail.Bestaande.Afkorting,
                            ex.Detail.Bestaande.Naam));
                }
                else
                {
                    // Dit kan niet.
                    Debug.Assert(false);
                }
                model.OfficieleAfdelingen = ServiceHelper.CallService <IGroepenService, IEnumerable <OfficieleAfdelingDetail> >(groep => groep.OfficieleAfdelingenOphalen());
                return(View("AfdelingsJaar", model)); // FIXME only reloads part of the previous page
            }
        }