public async Task <ActionResult> UpdateArtist(int id, ArtistToSaveResource artistToUpdate) { try { // Validation of input Data var validation = new ArtistToSaveResourceValidator(); var validationResult = await validation.ValidateAsync(artistToUpdate); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } // Verify existing artist var artistExist = await _artistService.GetArtistById(id); if (artistExist == null) { return(NotFound("Artist not found")); } // Mapping var artistUpdate = _mapperService.Map <ArtistToSaveResource, Artist>(artistToUpdate); // Update await _artistService.UpdateArtist(artistExist, artistUpdate); return(Ok("The artist is updated")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
//[Authorize] public async Task <ActionResult <Artist> > CreateArtist(ArtistToSaveResource artistToSave) { try { // Validation of input Data var validation = new ArtistToSaveResourceValidator(); var validationResult = await validation.ValidateAsync(artistToSave); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } // Mapping var artist = _mapperService.Map <ArtistToSaveResource, Artist>(artistToSave); // Creation var artistCreated = await _artistService.CreateArtist(artist); // Mapping var artistResource = _mapperService.Map <Artist, ArtistResource>(artistCreated); return(Ok(artistResource)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }