public ActionResult CreatePermission(NewAppPermissionViewModel model) { using (var context = new AppSecurityContext()) { var actionRepository = new ActionRepository(context); var resourceRepository = new ResourceRepository(context); var permissionRepository = new PermissionRepository(context); try { var resource = resourceRepository.Find(model.SelectedResource); var actions = actionRepository.Query(x => model.SelectedActions.Contains(x.Key)); foreach (var action in actions) { var permission = new AppPermission(); permission.Action = action; permission.Resource = resource; permissionRepository.Add(permission); } context.SaveChanges(); return(RedirectToAction("Permissions")); } catch (Exception ex) { ViewBag.Error = ex.Message; var actions = actionRepository.GetAll().OrderBy(x => x.Name); model.AvailableActions = mapper.Map <ICollection <AppActionViewModel> >(actions); model.ResourcesList = PopulateResourcesForNewPermission(model.SelectedResource); return(View(model)); } } }
public ActionResult CreatePermission() { var model = new NewAppPermissionViewModel(); using (var context = new AppSecurityContext()) { var actionRepository = new ActionRepository(context); var actions = actionRepository.GetAll().OrderBy(x => x.Name); model.AvailableActions = mapper.Map <ICollection <AppActionViewModel> >(actions); model.ResourcesList = PopulateResourcesForNewPermission(model.SelectedResource); return(View(model)); } }