public async Task <IHttpActionResult> ManageUsersInRole(UsersInRoleModelDTO model) { RespuestaDTO <UsersInRoleModelDTO> response = await new RoleBLL(Request).ManageUsersInRole(model); if (response.Error.Count > 0) { GetErrorResult(response); } return(Ok(response)); }
public async Task <RespuestaDTO <UsersInRoleModelDTO> > ManageUsersInRole(UsersInRoleModelDTO model) { var role = await this.RoleManager.FindByIdAsync(model.Id); RespuestaDTO <UsersInRoleModelDTO> response = new RespuestaDTO <UsersInRoleModelDTO>(); response.Data = model; if (role == null) { response.Mensaje = "El Role Con Id" + model.Id + " No Existe "; response.Error.Add(new ErrorDTO() { Code = "404", Menssage = "Role no existe" }); return(response); } foreach (string user in model.EnrolledUsers) { var appUser = await this.UserManager.FindByIdAsync(user); if (appUser == null) { response.Error.Add(new ErrorDTO() { Code = "404", Menssage = "El Usuario" + user + " No Ha Sido Encontrado" }); continue; } if (!this.UserManager.IsInRole(user, role.Name)) { response.Error = ApplicationUserManager.Result(await this.UserManager.AddToRoleAsync(user, role.Name)); if (response.Error.Count > 0) { response.Mensaje = "El Role No Ha Sido Agredo Al Usuario"; } else { response.Mensaje = "El Role Ha Sido Agredo Al Usuario"; } } } foreach (string user in model.RemovedUsers) { var appUser = await this.UserManager.FindByIdAsync(user); if (appUser == null) { response.Error.Add(new ErrorDTO() { Code = "404", Menssage = "El Usuario No Ha Sido Encontrado" }); continue; } response.Error = ApplicationUserManager.Result(await this.UserManager.RemoveFromRoleAsync(user, role.Name)); if (response.Error.Count > 0) { response.Mensaje += " El Rol No Ha Sido Removido Del Usuario"; } else { response.Mensaje += "\n El Role Ha Sido Removido Del Usuario"; } } return(response); }