public async Task <IActionResult> PutRole(string id, PutRoleModel putRoleModel) { try { if (!Guid.TryParse(id, out Guid reviewId)) { throw new GuidException("Invalid id", this.GetType().Name, "PutRole", "400"); } await _roleRepository.PutRole(id, putRoleModel); return(NoContent()); } catch (MovieMindException e) { if (e.MovieMindError.Status.Equals("404")) { return(NotFound(e.MovieMindError)); } else { return(BadRequest(e.MovieMindError)); } } }
public async Task PutRole(string id, PutRoleModel putRoleModel) { try { Role role = await _context.Roles.FirstOrDefaultAsync(x => x.Id == Guid.Parse(id)); if (role == null) { throw new EntityException("Role not found", this.GetType().Name, "PutRole", "404"); } role.Name = putRoleModel.Name; role.Description = putRoleModel.Description; IdentityResult result = await _roleManager.UpdateAsync(role); if (!result.Succeeded) { throw new IdentityException(result.Errors.First().Description, this.GetType().Name, "PutRole", "400"); } } catch (MovieMindException) { throw; } catch (Exception e) { throw new DatabaseException(e.InnerException.Message, this.GetType().Name, "PutRole", "400"); } }