public async Task <ActionResult> UpdateArtist(Guid artistId, [FromBody] ArtistPutRequest artistPutRequest) { var artistFromRepo = await _artistRepository.GetArtistsAsync(artistId); if (!_artistRepository.ArtistExists(artistId)) { var artistToAdd = _mapper.Map <Artist>(artistPutRequest); artistToAdd.Id = artistId; _artistRepository.AddArtist(artistToAdd); await _artistRepository.SaveAsync(); var artistGetResponse = _mapper.Map <ArtistGetResponse>(artistToAdd); return(CreatedAtRoute("GetArtist", new { version = HttpContext.GetRequestedApiVersion().ToString(), artistId = artistGetResponse.Id }, artistGetResponse)); } _mapper.Map(artistPutRequest, artistFromRepo); _artistRepository.UpdateArtist(artistFromRepo); await _artistRepository.SaveAsync(); return(NoContent()); }
public async Task <ActionResult <bool> > PutArtist(ArtistPutRequest request) { return(Ok(await _repository.Update(_mapper.Map <Artist>(request)))); }