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)); }
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)); }
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 } }