public ActionResult Verwijderen(int groepID, int id) { try { ServiceHelper.CallService <IGroepenService>(svc => svc.FunctieVerwijderen(id, false)); TempData["succes"] = Properties.Resources.WijzigingenOpgeslagenFeedback; return(RedirectToAction("Functies", new { Controller = "Groep", groepID = groepID })); } catch (FaultException <BlokkerendeObjectenFault <PersoonLidInfo> > ex) { // Functie was niet leeg var model = new LedenLinksModel(); BaseModelInit(model, groepID); model.Leden = ex.Detail.Objecten; model.FunctieID = id; model.VolledigeLijstUrl = Url.Action("Lijst", "Leden", new RouteValueDictionary(new { groepID, functieID = id })); model.TotaalAantal = ex.Detail.Aantal; // Vis functienaam op uit de gekoppelde functies van de leden. // Niet elegant, maar werkt wel. var functieNaam = (from f in model.Leden.First().LidInfo.Functies where f.ID == id select f).First().Naam; model.Titel = String.Format("Functie '{0}' verwijderen", functieNaam); return(View("Verwijderen", model)); // FIXME only reloads part of the previous page } }
public ActionResult Verwijderen(LedenLinksModel model) { ServiceHelper.CallService <IGroepenService>(svc => svc.FunctieVerwijderen( model.FunctieID, true)); // forceer; ook als er nog mensen zijn met die functie return(RedirectToAction("Functies", new { Controller = "Groep", groepID = model.GroepID })); }