public async Task <ActionResult <AlbumResource> > PutAsync(int id, [FromBody] SaveAlbumResource input) { //try //{ if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var album = await _supervisor.GetAlbumByIdAsync(id); if (album == null) { return(NotFound(new ErrorResource("Album not found"))); } album = _mapper.Map <SaveAlbumResource, Album>(input); var result = await _supervisor.UpdateAlbumAsync(id, album); if (!result.Success) { return(BadRequest(new ErrorResource(result.Message))); } var albumResource = _mapper.Map <Album, AlbumResource>(result.Album); return(Ok(albumResource)); //} //catch (Exception ex) //{ // _logger.LogError(ex.Message); // return StatusCode(500, ex); //} }
//[ProducesResponseType(StatusCodes.Status500InternalServerError)] public async Task <ActionResult <AlbumResource> > PostAsync([FromBody] SaveAlbumResource input) //TODO Evaluate if try/catch is needed { //try //{ if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var album = _mapper.Map <SaveAlbumResource, Album>(input); var result = await _supervisor.AddAlbumAsync(album); if (!result.Success) { return(BadRequest(new ErrorResource(result.Message))); } var albumResource = _mapper.Map <Album, AlbumResource>(result.Album); return(StatusCode(201, albumResource)); //} //catch (Exception ex) //{ // _logger.LogError(ex.Message); // return StatusCode(500, ex); //} }
public async Task <IActionResult> PutAsync(string id, [FromBody] SaveAlbumResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages().ToList())); } var albums = _mapper.Map <SaveAlbumResource, Album>(resource); var result = await _albumService.UpdateAsync(id, albums); if (!result.IsSuccess) { return(BadRequest(result.Message)); } var albumResource = _mapper.Map <Album, AlbumResource>(result.Value); return(Ok(albumResource)); }