Beispiel #1
0
        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));
        }
Beispiel #2
0
 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();
 }