private Playlist CreateNewPlaylist(PlaylistUpdateViewModel playlistTO) { Playlist playlist = new Playlist { Name = playlistTO.Name, PlaylistElements = new List <PlaylistElement>(), CreationTime = NodaTime.SystemClock.Instance.GetCurrentInstant().InUtc(), LastModified = NodaTime.SystemClock.Instance.GetCurrentInstant().InUtc() }; _dbContext.Add(playlist); _dbContext.SaveChanges(); UpdatePlaylistElementList(playlist, playlistTO.List); return(playlist); }
public IActionResult UpdatePlaylist([FromBody] PlaylistUpdateViewModel updateData) { if (updateData == null) { return(BadRequest()); } Playlist playlist; if (updateData.Id == 0) { // If ID is 0, create new persistent Playlist object playlist = CreateNewPlaylist(updateData); return(PlaylistToJson(playlist)); } else { playlist = _dbContext.Playlists.Single(p => p.Id == updateData.Id); } playlist.Name = updateData.Name; playlist.LastModified = NodaTime.SystemClock.Instance.GetCurrentInstant().InUtc(); UpdatePlaylistElementList(playlist, updateData.List); return(PlaylistToJson(playlist)); }