Example #1
0
 public async Task HandleAsync(T message)
 {
     using (PerfLogger.Create(message.GetType().Name))
     {
         await _decorated.HandleAsync(message).ConfigureAwait(false);
     }
 }
Example #2
0
 public UserPlaylist GetUserPlaylist(Guid userId, string playlistName)
 {
     using (PerfLogger.Create("GetUserPlaylist", () => new { smartPlaylistName = playlistName }))
     {
         return(_decorated.GetUserPlaylist(userId, playlistName));
     }
 }
Example #3
0
 public async Task <Domain.SmartPlaylist[]> GetAllUpdateableSmartPlaylistsAsync()
 {
     using (PerfLogger.Create("GetAllUpdateableSmartPlaylists"))
     {
         return(await _decorated.GetAllUpdateableSmartPlaylistsAsync().ConfigureAwait(false));
     }
 }
 public void Delete(Guid userId, string smartPlaylistId)
 {
     using (PerfLogger.Create("DeleteSmartPlaylist"))
     {
         _decorated.Delete(userId, smartPlaylistId);
     }
 }
 public void Save(SmartPlaylistDto smartPlaylist)
 {
     using (PerfLogger.Create("SaveSmartPlaylist", () => new { smartPlaylistName = smartPlaylist.Name }))
     {
         _decorated.Save(smartPlaylist);
     }
 }
 public async Task <SmartPlaylistDto[]> GetAllSmartPlaylistsAsync()
 {
     using (PerfLogger.Create("GetAllSmartPlaylistsFromStore"))
     {
         return(await _decorated.GetAllSmartPlaylistsAsync().ConfigureAwait(false));
     }
 }
 public async Task <SmartPlaylistDto[]> LoadPlaylistsAsync(Guid userId)
 {
     using (PerfLogger.Create("LoadPlaylistsFromStore"))
     {
         return(await _decorated.LoadPlaylistsAsync(userId).ConfigureAwait(false));
     }
 }
        public async Task UpdateAsync(UserPlaylist playlist, BaseItem[] newItems)
        {
            using (PerfLogger.Create("UpdatePlaylistItems",
                                     () => new { playlistName = playlist.Name, newItemsCount = newItems.Length }))

            {
                await _decorated.UpdateAsync(playlist, newItems).ConfigureAwait(false);
            }
        }
        public IEnumerable <BaseItem> GetItems(User user, string[] itemTypes)
        {
            var items = new BaseItem[0];

            using (PerfLogger.Create("GetUserItems", () => new { userName = user.Name, itemsCount = items.Length }))
            {
                items = _decorated.GetItems(user, itemTypes).ToArray();
                return(items);
            }
        }
Example #10
0
        public async Task <Domain.SmartPlaylist> GetSmartPlaylistAsync(Guid smartPlaylistId)
        {
            Domain.SmartPlaylist smartPlaylist = null;
            using (PerfLogger.Create("GetSmartPlaylistFromProvider", () => new { smartPlaylistName = smartPlaylist?.Name }))
            {
                smartPlaylist = await _decorated.GetSmartPlaylistAsync(smartPlaylistId).ConfigureAwait(false);

                return(smartPlaylist);
            }
        }
        public async Task <SmartPlaylistDto> GetSmartPlaylistAsync(Guid smartPlaylistId)
        {
            SmartPlaylistDto smartPlaylistDto = null;

            using (PerfLogger.Create("GetSmartPlaylistFromStore", () => new { smartPlaylistName = smartPlaylistDto?.Name }))
            {
                smartPlaylistDto = await _decorated.GetSmartPlaylistAsync(smartPlaylistId).ConfigureAwait(false);

                return(smartPlaylistDto);
            }
        }
Example #12
0
        private async Task GetTasks(Domain.SmartPlaylist smartPlaylist, BaseItem[] items)
        {
            BaseItem[] newItems;
            var        playlist = _playlistRepository.GetUserPlaylist(smartPlaylist.UserId, smartPlaylist.Name);

            using (PerfLogger.Create("FilterPlaylistItems",
                                     () => new { playlistName = playlist.Name, itemsCount = items.Length }))
            {
                newItems = smartPlaylist.FilterPlaylistItems(playlist, items).ToArray();
            }

            await _playlistItemsUpdater.UpdateAsync(playlist, newItems).ConfigureAwait(false);
        }
Example #13
0
        public async Task HandleAsync(UpdateSmartPlaylistCommand message)
        {
            var smartPlaylist = await _smartPlaylistProvider.GetSmartPlaylistAsync(message.SmartPlaylistId)
                                .ConfigureAwait(false);

            var playlist = _playlistRepository.GetUserPlaylist(smartPlaylist.UserId, smartPlaylist.Name);

            var items = _userItemsProvider.GetItems(playlist.User, Const.SupportedItemTypeNames).ToArray();

            BaseItem[] newItems;
            using (PerfLogger.Create("FilterPlaylistItems",
                                     () => new { playlistName = playlist.Name, itemsCount = items.Length }))
            {
                newItems = smartPlaylist.FilterPlaylistItems(playlist, items).ToArray();
            }

            await _playlistItemsUpdater.UpdateAsync(playlist, newItems).ConfigureAwait(false);

            if (smartPlaylist.IsShuffleUpdateType)
            {
                smartPlaylist.UpdateLastShuffleTime();
                _smartPlaylistStore.Save(smartPlaylist.ToDto());
            }
        }