コード例 #1
0
 private ActionResult GetUserRoles(int userId)
 {
     var roles = _accountRepository.GetUserRoles(userId);
     var model = new UserRoleModel
         {
             UserId = userId,
             Roles = new List<RoleModel>()
         };
     Mapper.Map(roles, model.Roles);
     return PartialView("UserRolesPartial", model);
 }
コード例 #2
0
 public ActionResult AssignRoles(UserRoleModel model)
 {
     if (ModelState.IsValid)
     {
         var roles = _accountRepository.GetUserRoles(model.UserId);
         var assigned = (from r in roles
                         where !model.PostedRoles.IsNull() && model.PostedRoles.Contains(r.RoleId) && !r.UserId.HasValue
                         select r.RoleId).ToArray();
         var revoked = (from r in roles
                        where (model.PostedRoles.IsNull() || !model.PostedRoles.Contains(r.RoleId)) && r.UserId.HasValue
                        select r.RoleId).ToArray();
         if (!assigned.IsNullOrEmpty())
         {
             _accountRepository.AssignUserToRoles(model.UserId, assigned);
         }
         if (!revoked.IsNullOrEmpty())
         {
             _accountRepository.RevokeUserFromRoles(model.UserId, revoked);
         }
     }
     return GetUserRoles(model.UserId);
 }