public async Task <ActionResult <RoleDTO> > UpdateRole(int id, [FromBody] CreateRoleDTO saveRoleResource) { var validator = new CreateRoleResourceValidator(); var validationResult = await validator.ValidateAsync(saveRoleResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok } var roleToBeUpdated = await _roleService.GetRoleById(id); if (roleToBeUpdated == null) { return(NotFound()); } var role = _mapper.Map <CreateRoleDTO, Role>(saveRoleResource); await _roleService.UpdateRole(roleToBeUpdated, role); var updatedRole = await _roleService.GetRoleById(id); var updatedRoleResource = _mapper.Map <Role, RoleDTO>(updatedRole); return(Ok(updatedRoleResource)); }
public async Task <ActionResult <RoleDTO> > CreateRole([FromBody] CreateRoleDTO createRoleResource) { var validator = new CreateRoleResourceValidator(); var validationResult = await validator.ValidateAsync(createRoleResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok } var roleToCreate = _mapper.Map <CreateRoleDTO, Role>(createRoleResource); var newRole = await _roleService.CreateRole(roleToCreate); var role = await _roleService.GetRoleById(newRole.Id); var roleResource = _mapper.Map <Role, RoleDTO>(role); return(Ok(roleResource)); }