示例#1
0
        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);
        }
示例#2
0
        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));
        }