Added IDtoService

This commit is contained in:
Luke Pulverenti
2013-09-04 13:02:19 -04:00
parent 981973a028
commit dfe91e43b6
57 changed files with 1031 additions and 1039 deletions

View File

@@ -75,8 +75,8 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="libraryManager">The library manager.</param>
/// <param name="userDataRepository">The user data repository.</param>
/// <param name="itemRepo">The item repo.</param>
public ArtistsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public ArtistsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -104,16 +104,14 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>

View File

@@ -30,6 +30,7 @@ namespace MediaBrowser.Api.UserLibrary
protected readonly ILibraryManager LibraryManager;
protected readonly IUserDataRepository UserDataRepository;
protected readonly IItemRepository ItemRepository;
protected IDtoService DtoService { get; private set; }
/// <summary>
/// Initializes a new instance of the <see cref="BaseItemsByNameService{TItemType}" /> class.
@@ -37,12 +38,13 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="userManager">The user manager.</param>
/// <param name="libraryManager">The library manager.</param>
/// <param name="userDataRepository">The user data repository.</param>
protected BaseItemsByNameService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepository)
protected BaseItemsByNameService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepository, IDtoService dtoService)
{
UserManager = userManager;
LibraryManager = libraryManager;
UserDataRepository = userDataRepository;
ItemRepository = itemRepository;
DtoService = dtoService;
}
/// <summary>
@@ -58,11 +60,11 @@ namespace MediaBrowser.Api.UserLibrary
if (request.UserId.HasValue)
{
user = UserManager.GetUserById(request.UserId.Value);
item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, UserManager, LibraryManager, user.Id);
item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoService.GetItemByDtoId(request.ParentId, user.Id);
}
else
{
item = string.IsNullOrEmpty(request.ParentId) ? LibraryManager.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, UserManager, LibraryManager);
item = string.IsNullOrEmpty(request.ParentId) ? LibraryManager.RootFolder : DtoService.GetItemByDtoId(request.ParentId);
}
IEnumerable<BaseItem> items;
@@ -285,8 +287,8 @@ namespace MediaBrowser.Api.UserLibrary
return null;
}
var dto = user == null ? await new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository).GetBaseItemDto(item, fields).ConfigureAwait(false) :
await new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository).GetBaseItemDto(item, fields, user).ConfigureAwait(false);
var dto = user == null ? await DtoService.GetBaseItemDto(item, fields).ConfigureAwait(false) :
await DtoService.GetBaseItemDto(item, fields, user).ConfigureAwait(false);
if (fields.Contains(ItemFields.ItemCounts))
{

View File

@@ -63,8 +63,8 @@ namespace MediaBrowser.Api.UserLibrary
public class GameGenresService : BaseItemsByNameService<GameGenre>
{
public GameGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public GameGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -92,16 +92,14 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>

View File

@@ -69,8 +69,8 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
public class GenresService : BaseItemsByNameService<Genre>
{
public GenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public GenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -98,16 +98,14 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>

View File

@@ -138,16 +138,18 @@ namespace MediaBrowser.Api.UserLibrary
/// The library manager
/// </summary>
protected readonly ILibraryManager LibraryManager;
private readonly IDtoService _dtoService;
/// <summary>
/// Initializes a new instance of the <see cref="ItemByNameUserDataService" /> class.
/// </summary>
/// <param name="userDataRepository">The user data repository.</param>
/// <param name="libraryManager">The library manager.</param>
public ItemByNameUserDataService(IUserDataRepository userDataRepository, ILibraryManager libraryManager)
public ItemByNameUserDataService(IUserDataRepository userDataRepository, ILibraryManager libraryManager, IDtoService dtoService)
{
UserDataRepository = userDataRepository;
LibraryManager = libraryManager;
_dtoService = dtoService;
}
/// <summary>
@@ -230,7 +232,7 @@ namespace MediaBrowser.Api.UserLibrary
data = UserDataRepository.GetUserData(userId, key);
return DtoBuilder.GetUserItemDataDto(data);
return _dtoService.GetUserItemDataDto(data);
}
/// <summary>
@@ -256,7 +258,7 @@ namespace MediaBrowser.Api.UserLibrary
data = UserDataRepository.GetUserData(userId, key);
return DtoBuilder.GetUserItemDataDto(data);
return _dtoService.GetUserItemDataDto(data);
}
}
}

View File

@@ -210,8 +210,8 @@ namespace MediaBrowser.Api.UserLibrary
private readonly ILibrarySearchEngine _searchEngine;
private readonly ILocalizationManager _localization;
private readonly IItemRepository _itemRepo;
private readonly IDtoService _dtoService;
/// <summary>
/// Initializes a new instance of the <see cref="ItemsService" /> class.
/// </summary>
@@ -219,14 +219,14 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="libraryManager">The library manager.</param>
/// <param name="searchEngine">The search engine.</param>
/// <param name="userDataRepository">The user data repository.</param>
public ItemsService(IUserManager userManager, ILibraryManager libraryManager, ILibrarySearchEngine searchEngine, IUserDataRepository userDataRepository, ILocalizationManager localization, IItemRepository itemRepo)
public ItemsService(IUserManager userManager, ILibraryManager libraryManager, ILibrarySearchEngine searchEngine, IUserDataRepository userDataRepository, ILocalizationManager localization, IDtoService dtoService)
{
_userManager = userManager;
_libraryManager = libraryManager;
_searchEngine = searchEngine;
_userDataRepository = userDataRepository;
_localization = localization;
_itemRepo = itemRepo;
_dtoService = dtoService;
}
/// <summary>
@@ -275,9 +275,7 @@ namespace MediaBrowser.Api.UserLibrary
var fields = request.GetItemFields().ToList();
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
var returnItems = await Task.WhenAll(pagedItems.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user))).ConfigureAwait(false);
var returnItems = await Task.WhenAll(pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user))).ConfigureAwait(false);
return new ItemsResult
{
@@ -295,7 +293,7 @@ namespace MediaBrowser.Api.UserLibrary
/// <exception cref="System.InvalidOperationException"></exception>
private IEnumerable<BaseItem> GetItemsToSerialize(GetItems request, User user)
{
var item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.ParentId, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(request.ParentId) ? user.RootFolder : _dtoService.GetItemByDtoId(request.ParentId, user.Id);
// Default list type = children
@@ -303,7 +301,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var idList = request.Ids.Split(',').ToList();
return idList.Select(i => DtoBuilder.GetItemByClientId(i, _userManager, _libraryManager, user.Id));
return idList.Select(i => _dtoService.GetItemByDtoId(i, user.Id));
}
if (request.Recursive)
@@ -492,7 +490,7 @@ namespace MediaBrowser.Api.UserLibrary
if (!string.IsNullOrEmpty(request.AdjacentTo))
{
var item = DtoBuilder.GetItemByClientId(request.AdjacentTo, _userManager, _libraryManager);
var item = _dtoService.GetItemByDtoId(request.AdjacentTo);
var allSiblings = item.Parent.GetChildren(user, true).OrderBy(i => i.SortName).ToList();

View File

@@ -63,8 +63,8 @@ namespace MediaBrowser.Api.UserLibrary
public class MusicGenresService : BaseItemsByNameService<MusicGenre>
{
public MusicGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public MusicGenresService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -92,16 +92,14 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>

View File

@@ -6,7 +6,6 @@ using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
using ServiceStack.ServiceHost;
using System;
@@ -86,8 +85,8 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="libraryManager">The library manager.</param>
/// <param name="userDataRepository">The user data repository.</param>
/// <param name="itemRepo">The item repo.</param>
public PersonsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public PersonsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -114,17 +113,15 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>

View File

@@ -70,8 +70,8 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
public class StudiosService : BaseItemsByNameService<Studio>
{
public StudiosService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public StudiosService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -98,17 +98,15 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>

View File

@@ -366,6 +366,7 @@ namespace MediaBrowser.Api.UserLibrary
private readonly IItemRepository _itemRepo;
private readonly ISessionManager _sessionManager;
private readonly IDtoService _dtoService;
/// <summary>
/// Initializes a new instance of the <see cref="UserLibraryService" /> class.
@@ -375,13 +376,14 @@ namespace MediaBrowser.Api.UserLibrary
/// <param name="userDataRepository">The user data repository.</param>
/// <param name="itemRepo">The item repo.</param>
/// <exception cref="System.ArgumentNullException">jsonSerializer</exception>
public UserLibraryService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, ISessionManager sessionManager)
public UserLibraryService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, ISessionManager sessionManager, IDtoService dtoService)
{
_userManager = userManager;
_libraryManager = libraryManager;
_userDataRepository = userDataRepository;
_itemRepo = itemRepo;
_sessionManager = sessionManager;
_dtoService = dtoService;
}
/// <summary>
@@ -400,13 +402,11 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
var movie = item as Movie;
// Get them from the db
@@ -418,7 +418,7 @@ namespace MediaBrowser.Api.UserLibrary
var tasks = movie.SpecialFeatureIds
.Select(_itemRepo.RetrieveItem)
.OrderBy(i => i.SortName)
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, movie1));
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, movie1));
return Task.WhenAll(tasks);
}
@@ -446,7 +446,7 @@ namespace MediaBrowser.Api.UserLibrary
return DateTime.MinValue;
})
.ThenBy(i => i.SortName)
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user));
.Select(i => _dtoService.GetBaseItemDto(i, fields, user));
return Task.WhenAll(tasks);
}
@@ -470,17 +470,15 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
var tasks = item.LocalTrailerIds
.Select(_itemRepo.RetrieveItem)
.OrderBy(i => i.SortName)
.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, item));
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, item));
return Task.WhenAll(tasks);
}
@@ -494,14 +492,12 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
var result = dtoBuilder.GetBaseItemDto(item, fields, user).Result;
var result = _dtoService.GetBaseItemDto(item, fields, user).Result;
return ToOptimizedResult(result);
}
@@ -520,9 +516,7 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo);
var result = dtoBuilder.GetBaseItemDto(item, fields, user).Result;
var result = _dtoService.GetBaseItemDto(item, fields, user).Result;
return ToOptimizedResult(result);
}
@@ -536,7 +530,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(request.Id) ? user.RootFolder : _dtoService.GetItemByDtoId(request.Id, user.Id);
var result = _libraryManager.GetIntros(item, user);
@@ -569,7 +563,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(userId);
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : _dtoService.GetItemByDtoId(itemId, user.Id);
var key = item.GetUserDataKey();
@@ -583,7 +577,7 @@ namespace MediaBrowser.Api.UserLibrary
data = _userDataRepository.GetUserData(user.Id, key);
return DtoBuilder.GetUserItemDataDto(data);
return _dtoService.GetUserItemDataDto(data);
}
/// <summary>
@@ -612,7 +606,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(userId);
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
var item = string.IsNullOrEmpty(itemId) ? user.RootFolder : _dtoService.GetItemByDtoId(itemId, user.Id);
var key = item.GetUserDataKey();
@@ -625,7 +619,7 @@ namespace MediaBrowser.Api.UserLibrary
data = _userDataRepository.GetUserData(user.Id, key);
return DtoBuilder.GetUserItemDataDto(data);
return _dtoService.GetUserItemDataDto(data);
}
/// <summary>
@@ -666,7 +660,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = _dtoService.GetItemByDtoId(request.Id, user.Id);
_sessionManager.OnPlaybackStart(item, GetSession().Id);
}
@@ -679,7 +673,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = _dtoService.GetItemByDtoId(request.Id, user.Id);
var task = _sessionManager.OnPlaybackProgress(item, request.PositionTicks, request.IsPaused, request.IsMuted, GetSession().Id);
@@ -694,7 +688,7 @@ namespace MediaBrowser.Api.UserLibrary
{
var user = _userManager.GetUserById(request.UserId);
var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, user.Id);
var item = _dtoService.GetItemByDtoId(request.Id, user.Id);
var task = _sessionManager.OnPlaybackStopped(item, request.PositionTicks, GetSession().Id);
@@ -723,11 +717,11 @@ namespace MediaBrowser.Api.UserLibrary
/// <returns>Task.</returns>
private async Task<UserItemDataDto> UpdatePlayedStatus(User user, string itemId, bool wasPlayed)
{
var item = DtoBuilder.GetItemByClientId(itemId, _userManager, _libraryManager, user.Id);
var item = _dtoService.GetItemByDtoId(itemId, user.Id);
await item.SetPlayedStatus(user, wasPlayed, _userDataRepository).ConfigureAwait(false);
return DtoBuilder.GetUserItemDataDto(_userDataRepository.GetUserData(user.Id, item.GetUserDataKey()));
return _dtoService.GetUserItemDataDto(_userDataRepository.GetUserData(user.Id, item.GetUserDataKey()));
}
}
}

View File

@@ -54,8 +54,8 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
public YearsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo)
: base(userManager, libraryManager, userDataRepository, itemRepo)
public YearsService(IUserManager userManager, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IItemRepository itemRepo, IDtoService dtoService)
: base(userManager, libraryManager, userDataRepository, itemRepo, dtoService)
{
}
@@ -82,17 +82,15 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
var builder = new DtoBuilder(Logger, LibraryManager, UserDataRepository, ItemRepository);
if (request.UserId.HasValue)
{
var user = UserManager.GetUserById(request.UserId.Value);
return await builder.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList(), user).ConfigureAwait(false);
}
return await builder.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
return await DtoService.GetBaseItemDto(item, fields.ToList()).ConfigureAwait(false);
}
/// <summary>