public async Task <ActionResult> AddUserRole(UsersRolesDto Data) { var userRoles = await UserManager.GetRolesAsync(Data.UsersId); var taskResult = new TaskResult <UsersRolesDto> { Data = Data }; var roles = await _rolesRepository.GetAllAsync(); ViewBag.Roles = roles.Data.Select(r => new SelectListItem { Text = r.Name, Value = r.Name }).ToList(); var users = await _customerRepository.GetAllAsync(); ViewBag.Users = users.Data.Select(u => new SelectListItem { Text = u.Email, Value = u.Id }).ToList(); if (userRoles.Any()) { var removedResult = await UserManager.RemoveFromRoleAsync(Data.UsersId, userRoles.FirstOrDefault()); if (!removedResult.Succeeded) { taskResult.Message = String.Join(", ", removedResult.Errors); taskResult.Success = false; return(View(taskResult)); } } var result = await UserManager.AddToRoleAsync(Data.UsersId, Data.RoleName); if (result.Succeeded) { taskResult.Message = "Se agregó el role correctamente"; } else { taskResult.Success = false; taskResult.Message = String.Join(", ", result.Errors); } return(View(taskResult)); }
public async Task <ActionResult> UserRoleModal(UsersRolesDto usersRolesDto) { var user = await _customerRepository.GetAsync(usersRolesDto.UsersId); var model = new TaskResult <UsersRolesDto>(); var userRole = await _rolesRepository.GetUserRolesAsync(usersRolesDto.RolesId, UserManager); model.Data.RolesId = userRole.Data[0].Id; model.Data.Name = user.Data.Name; model.Data.LastName = user.Data.LastName; var roles = await _rolesRepository.GetAllAsync(); ViewBag.Roles = roles.Data.Select(r => new SelectListItem { Text = r.Name, Value = r.Name }).ToList(); return(PartialView("_userRoleModal", model)); }