public IHttpActionResult UpdateSong([FromBody] SongCreationModel updateSongRequest, int songId) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Song songToChange; songToChange = _musicManager.GetSong(songId); if (updateSongRequest != null) { if (updateSongRequest.Name != null) { songToChange.Name = songToChange.Name; } if (updateSongRequest.Text != null) { songToChange.Text = songToChange.Text; } } try { _musicManager.UpdateSong(songToChange, updateSongRequest.Artist); } catch (System.ArgumentException) { return(Content(HttpStatusCode.Unauthorized, "Song not found")); } return(Ok(_musicManager.GetSong(songId))); }
public IHttpActionResult AddNewSong([FromBody] SongCreationModel songCreationModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } CreateSongRequest songRequest; try { songRequest = new CreateSongRequest( songCreationModel.Name, songCreationModel.Text, songCreationModel.Artist); } catch (ArgumentException) { return(BadRequest("Fields must not be empty")); } int createdSongId; try { createdSongId = _musicManager.CreateSong(songRequest); } catch (AccountAlreadyExistsException ex) { return(Content(HttpStatusCode.Conflict, ex.Message)); } return(Ok(createdSongId)); }