public ActionResult CreateRole(NewAppRoleViewModel model) { var context = new AppSecurityContext(); var rolRepository = new RoleRepository(context); var permissionRepository = new PermissionRepository(context); var rolePermissionRepository = new RolePermissionRepository(context); if (ModelState.IsValid) { var role = mapper.Map <AppRole>(model); role.Id = Guid.NewGuid().ToString(); rolRepository.Add(role); if (model.SelectedPermissions == null) { model.SelectedPermissions = new int[0]; } foreach (var permissionId in model.SelectedPermissions) { rolePermissionRepository.Add(new AppRolePermission { PermissionId = permissionId, RoleId = role.Id }); } context.SaveChanges(); return(RedirectToAction("Roles", "SecuritySettings")); } var permissions = permissionRepository.GetAll(); model.AvailablePermissions = mapper.Map <ICollection <AppPermissionViewModel> >(permissions); return(View(model)); }
public void GuardarPermisos(int role_id, string ids) { oRolePermissionRepository.deleteMultiple(role_id); string[] permissions = ids.Split(','); foreach (string permission in permissions) { role_permissions orole_permissions = new role_permissions(); orole_permissions.id_role = role_id; orole_permissions.id_permission = Int32.Parse(permission); orole_permissions.status = 1; oRolePermissionRepository.Add(orole_permissions); } oUnitOfWork.SaveChanges(); }