コード例 #1
0
        public PlaylistDto Create(PlaylistDto playlistDto)
        {
            PlaylistDto savedPlaylistDto;

            using (ITransaction transaction = Session.BeginTransaction())
            {
                User user = UserManager.Get(playlistDto.UserId);

                Playlist playlist = new Playlist(playlistDto.Id);
                playlistDto.SetPatchableProperties(playlist);

                user.AddPlaylist(playlist);

                List<PlaylistItem> playlistItems = new List<PlaylistItem>();
                foreach (PlaylistItemDto dto in playlistDto.Items)
                {
                    PlaylistItem playlistItem = new PlaylistItem(dto.Id, dto.Title, dto.Cid, dto.Song.Id, dto.Song.Type, dto.Song.Title, dto.Song.Duration, dto.Song.Author);
                    dto.SetPatchableProperties(playlistItem);
                    playlistItems.Add(playlistItem);
                }
                playlist.AddItems(playlistItems);

                PlaylistManager.Save(playlist);
                savedPlaylistDto = PlaylistDto.Create(playlist);

                transaction.Commit();
            }

            return savedPlaylistDto;
        }
コード例 #2
0
        public PlaylistDto Create(PlaylistDto playlistDto)
        {
            PlaylistDto savedPlaylistDto;

            using (ITransaction transaction = Session.BeginTransaction())
            {
                User user = UserManager.Get(playlistDto.UserId);

                Playlist playlist = new Playlist(playlistDto.Id, playlistDto.Sequence, playlistDto.Title);
                user.AddPlaylist(playlist);

                playlist.AddItems(playlistDto.Items.Select(dto => new PlaylistItem(dto.Id, dto.Sequence, dto.Title, dto.Cid, dto.Song.Id, dto.Song.Type, dto.Song.Title, dto.Song.Duration, dto.Song.Author)));

                //  Make sure the playlist has been setup properly before it is cascade-saved through the User.
                playlist.ValidateAndThrow();

                PlaylistManager.Save(playlist);

                savedPlaylistDto = PlaylistDto.Create(playlist);

                transaction.Commit();
            }

            return savedPlaylistDto;
        }
コード例 #3
0
ファイル: Helpers.cs プロジェクト: vefve/StreamusServer
        /// <summary>
        ///     Generate a PlaylistDto which has the User as its parent.
        /// </summary>
        /// <returns></returns>
        public PlaylistDto CreatePlaylistDto(Guid userIdOverride)
        {
            var playlistDto = new PlaylistDto
            {
                UserId = userIdOverride
            };

            return playlistDto;
        }
コード例 #4
0
        public void PatchPlaylist_TitleNotProvided_TitleNotModified()
        {
            User user = Helpers.CreateUser();
            const double newSequence = 5;

            PlaylistDto playlistDto = new PlaylistDto { Sequence = newSequence };

            Playlist playlist = user.Playlists.First();

            string originalPlaylistTitle = playlist.Title;

            PlaylistController.Patch(playlist.Id, playlistDto);

            Assert.AreEqual(playlist.Title, originalPlaylistTitle);
            Assert.AreEqual(playlist.Sequence, newSequence);
        }
コード例 #5
0
        public void PatchPlaylist_SequenceNotProvided_SequenceNotModified()
        {
            User user = Helpers.CreateUser();
            const string newTitle = "Hello World";
            PlaylistDto playlistDto = new PlaylistDto { Title = newTitle };

            Playlist playlist = user.Playlists.First();

            double originalPlaylistSequence = playlist.Sequence;

            PlaylistController.Patch(playlist.Id, playlistDto);

            Assert.AreEqual(playlist.Sequence, originalPlaylistSequence);
            Assert.AreEqual(playlist.Title, newTitle);
        }
コード例 #6
0
        public static PlaylistDto Create(Playlist playlist)
        {
            PlaylistDto playlistDto = Mapper.Map <Playlist, PlaylistDto>(playlist);

            return(playlistDto);
        }
コード例 #7
0
        public void Patch(Guid id, PlaylistDto playlistDto)
        {
            using (ITransaction transaction = Session.BeginTransaction())
            {
                Playlist playlist = PlaylistManager.Get(id);
                playlistDto.SetPatchableProperties(playlist);
                PlaylistManager.Update(playlist);

                transaction.Commit();
            }
        }
コード例 #8
0
        public void UpdateTitle(PlaylistDto playlistDto)
        {
            using (ITransaction transaction = Session.BeginTransaction())
            {
                PlaylistManager.UpdateTitle(playlistDto.Id, playlistDto.Title);

                transaction.Commit();
            }
        }
コード例 #9
0
ファイル: Helpers.cs プロジェクト: zeemEU/StreamusServer
        /// <summary>
        ///     Generate a PlaylistDto which has the User as its parent.
        /// </summary>
        /// <returns></returns>
        public PlaylistDto CreatePlaylistDto(Guid userIdOverride, string title)
        {
            var playlistDto = new PlaylistDto
            {
                UserId = userIdOverride,
                Title = title
            };

            return playlistDto;
        }