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); }
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); }