diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-04 13:02:19 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-04 13:02:19 -0400 |
| commit | dfe91e43b676915b840f0958e331ba2cb57966d4 (patch) | |
| tree | 4e1fe02b4b767f3a5b81eb4eefbf97581a8dc37c /MediaBrowser.Api | |
| parent | 981973a028f51410b5fcc114d959bcad326aac52 (diff) | |
Added IDtoService
Diffstat (limited to 'MediaBrowser.Api')
35 files changed, 204 insertions, 218 deletions
diff --git a/MediaBrowser.Api/AlbumsService.cs b/MediaBrowser.Api/AlbumsService.cs index cbdf1923ba..e78a30c4a8 100644 --- a/MediaBrowser.Api/AlbumsService.cs +++ b/MediaBrowser.Api/AlbumsService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; @@ -30,13 +31,15 @@ namespace MediaBrowser.Api /// </summary> private readonly ILibraryManager _libraryManager; private readonly IItemRepository _itemRepo; + private readonly IDtoService _dtoService; - public AlbumsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo) + public AlbumsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService) { _userManager = userManager; _userDataRepository = userDataRepository; _libraryManager = libraryManager; _itemRepo = itemRepo; + _dtoService = dtoService; } /// <summary> @@ -50,6 +53,7 @@ namespace MediaBrowser.Api _itemRepo, _libraryManager, _userDataRepository, + _dtoService, Logger, request, item => item is MusicAlbum, GetAlbumSimilarityScore); diff --git a/MediaBrowser.Api/GamesService.cs b/MediaBrowser.Api/GamesService.cs index d88840e80c..ae328f70f3 100644 --- a/MediaBrowser.Api/GamesService.cs +++ b/MediaBrowser.Api/GamesService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using ServiceStack.ServiceHost; @@ -34,6 +35,7 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IItemRepository _itemRepo; + private readonly IDtoService _dtoService; /// <summary> /// Initializes a new instance of the <see cref="GamesService" /> class. @@ -42,12 +44,13 @@ namespace MediaBrowser.Api /// <param name="userDataRepository">The user data repository.</param> /// <param name="libraryManager">The library manager.</param> /// <param name="itemRepo">The item repo.</param> - public GamesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo) + public GamesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService) { _userManager = userManager; _userDataRepository = userDataRepository; _libraryManager = libraryManager; _itemRepo = itemRepo; + _dtoService = dtoService; } /// <summary> @@ -61,6 +64,7 @@ namespace MediaBrowser.Api _itemRepo, _libraryManager, _userDataRepository, + _dtoService, Logger, request, item => item is Game, SimilarItemsHelper.GetSimiliarityScore); diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index 678f89c2c1..496c7be1b5 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -337,21 +337,19 @@ namespace MediaBrowser.Api.Images private readonly IProviderManager _providerManager; private readonly IItemRepository _itemRepo; + private readonly IDtoService _dtoService; /// <summary> /// Initializes a new instance of the <see cref="ImageService" /> class. /// </summary> - /// <param name="userManager">The user manager.</param> - /// <param name="libraryManager">The library manager.</param> - /// <param name="appPaths">The app paths.</param> - /// <param name="providerManager">The provider manager.</param> - public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo) + public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService) { _userManager = userManager; _libraryManager = libraryManager; _appPaths = appPaths; _providerManager = providerManager; _itemRepo = itemRepo; + _dtoService = dtoService; } /// <summary> @@ -361,7 +359,7 @@ namespace MediaBrowser.Api.Images /// <returns>System.Object.</returns> public object Get(GetItemImageInfos request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.Id); var result = GetItemImageInfos(item).Result; @@ -512,7 +510,7 @@ namespace MediaBrowser.Api.Images /// <returns>System.Object.</returns> public object Get(GetItemImage request) { - var item = string.IsNullOrEmpty(request.Id) ? _libraryManager.RootFolder : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = string.IsNullOrEmpty(request.Id) ? _libraryManager.RootFolder : _dtoService.GetItemByDtoId(request.Id); return GetImage(request, item); } @@ -824,9 +822,10 @@ namespace MediaBrowser.Api.Images } } - var memoryStream = new MemoryStream(bytes); - - memoryStream.Position = 0; + var memoryStream = new MemoryStream(bytes) + { + Position = 0 + }; var imageIndex = 0; diff --git a/MediaBrowser.Api/InstantMixService.cs b/MediaBrowser.Api/InstantMixService.cs index dbdc5cd930..23472a93de 100644 --- a/MediaBrowser.Api/InstantMixService.cs +++ b/MediaBrowser.Api/InstantMixService.cs @@ -1,7 +1,6 @@ using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; -using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.Querying; using ServiceStack.ServiceHost; using System; @@ -42,22 +41,20 @@ namespace MediaBrowser.Api public class InstantMixService : BaseApiService { private readonly IUserManager _userManager; - private readonly IUserDataRepository _userDataRepository; private readonly ILibraryManager _libraryManager; - private readonly IItemRepository _itemRepo; + private readonly IDtoService _dtoService; - public InstantMixService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo) + public InstantMixService(IUserManager userManager, ILibraryManager libraryManager, IDtoService dtoService) { _userManager = userManager; - _userDataRepository = userDataRepository; _libraryManager = libraryManager; - _itemRepo = itemRepo; + _dtoService = dtoService; } public object Get(GetInstantMixFromSong request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.Id); var result = GetInstantMixResult(request, item.Genres).Result; @@ -66,7 +63,7 @@ namespace MediaBrowser.Api public object Get(GetInstantMixFromAlbum request) { - var album = (MusicAlbum)DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var album = (MusicAlbum)_dtoService.GetItemByDtoId(request.Id); var genres = album .RecursiveChildren @@ -112,8 +109,6 @@ namespace MediaBrowser.Api var fields = request.GetItemFields().ToList(); - var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo); - var inputItems = user == null ? _libraryManager.RootFolder.RecursiveChildren : user.RootFolder.GetRecursiveChildren(user); @@ -138,7 +133,7 @@ namespace MediaBrowser.Api }; var tasks = items.Take(request.Limit ?? items.Length) - .Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)); + .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); result.Items = await Task.WhenAll(tasks).ConfigureAwait(false); diff --git a/MediaBrowser.Api/ItemRefreshService.cs b/MediaBrowser.Api/ItemRefreshService.cs index f6e5a2cba2..e31292e9d5 100644 --- a/MediaBrowser.Api/ItemRefreshService.cs +++ b/MediaBrowser.Api/ItemRefreshService.cs @@ -1,9 +1,9 @@ -using System.Linq; -using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using ServiceStack.ServiceHost; using System; +using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -92,12 +92,12 @@ namespace MediaBrowser.Api public class ItemRefreshService : BaseApiService { private readonly ILibraryManager _libraryManager; - private readonly IUserManager _userManager; + private readonly IDtoService _dtoService; - public ItemRefreshService(ILibraryManager libraryManager, IUserManager userManager) + public ItemRefreshService(ILibraryManager libraryManager, IDtoService dtoService) { _libraryManager = libraryManager; - _userManager = userManager; + _dtoService = dtoService; } public void Post(RefreshArtist request) @@ -244,7 +244,7 @@ namespace MediaBrowser.Api /// <returns>Task.</returns> private async Task RefreshItem(RefreshItem request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.Id); var folder = item as Folder; diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs index 8e3c5ca8df..aff81283d7 100644 --- a/MediaBrowser.Api/ItemUpdateService.cs +++ b/MediaBrowser.Api/ItemUpdateService.cs @@ -72,12 +72,12 @@ namespace MediaBrowser.Api public class ItemUpdateService : BaseApiService { private readonly ILibraryManager _libraryManager; - private readonly IUserManager _userManager; + private readonly IDtoService _dtoService; - public ItemUpdateService(ILibraryManager libraryManager, IUserManager userManager) + public ItemUpdateService(ILibraryManager libraryManager, IDtoService dtoService) { _libraryManager = libraryManager; - _userManager = userManager; + _dtoService = dtoService; } public void Post(UpdateItem request) @@ -89,7 +89,7 @@ namespace MediaBrowser.Api private Task UpdateItem(UpdateItem request) { - var item = DtoBuilder.GetItemByClientId(request.ItemId, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.ItemId); UpdateItem(request, item); diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index ed2ef38840..14b68942c8 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -187,27 +187,24 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IUserManager _userManager; - private readonly IUserDataRepository _userDataRepository; + + private readonly IDtoService _dtoService; /// <summary> /// Initializes a new instance of the <see cref="LibraryService" /> class. /// </summary> - /// <param name="itemRepo">The item repo.</param> - /// <param name="libraryManager">The library manager.</param> - /// <param name="userManager">The user manager.</param> - /// <param name="userDataRepository">The user data repository.</param> public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, - IUserDataRepository userDataRepository) + IDtoService dtoService) { _itemRepo = itemRepo; _libraryManager = libraryManager; _userManager = userManager; - _userDataRepository = userDataRepository; + _dtoService = dtoService; } public object Get(GetFile request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.Id); if (item.LocationType == LocationType.Remote || item.LocationType == LocationType.Virtual) { @@ -240,7 +237,7 @@ namespace MediaBrowser.Api /// <returns>Task{BaseItemDto[]}.</returns> public async Task<BaseItemDto[]> GetAncestors(GetAncestors request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.Id); var tasks = new List<Task<BaseItemDto>>(); @@ -251,8 +248,6 @@ namespace MediaBrowser.Api .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) .ToList(); - var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo); - BaseItem parent = item.Parent; while (parent != null) @@ -262,7 +257,7 @@ namespace MediaBrowser.Api parent = TranslateParentItem(parent, user); } - tasks.Add(dtoBuilder.GetBaseItemDto(parent, fields, user)); + tasks.Add(_dtoService.GetBaseItemDto(parent, fields, user)); if (parent is UserRootFolder) { @@ -379,7 +374,7 @@ namespace MediaBrowser.Api private async Task DeleteItem(DeleteItem request) { - var item = DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager); + var item = _dtoService.GetItemByDtoId(request.Id); var parent = item.Parent; @@ -505,7 +500,7 @@ namespace MediaBrowser.Api ? (request.UserId.HasValue ? user.RootFolder : (Folder)_libraryManager.RootFolder) - : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, request.UserId); + : _dtoService.GetItemByDtoId(request.Id, request.UserId); while (item.ThemeSongIds.Count == 0 && request.InheritFromParent && item.Parent != null) { @@ -517,11 +512,9 @@ namespace MediaBrowser.Api .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) .ToList(); - var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo); - var tasks = item.ThemeSongIds.Select(_itemRepo.RetrieveItem) .OrderBy(i => i.SortName) - .Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, item)); + .Select(i => _dtoService.GetBaseItemDto(i, fields, user, item)); var items = await Task.WhenAll(tasks).ConfigureAwait(false); @@ -529,7 +522,7 @@ namespace MediaBrowser.Api { Items = items, TotalRecordCount = items.Length, - OwnerId = DtoBuilder.GetClientItemId(item) + OwnerId = _dtoService.GetDtoId(item) }; } @@ -553,7 +546,7 @@ namespace MediaBrowser.Api ? (request.UserId.HasValue ? user.RootFolder : (Folder)_libraryManager.RootFolder) - : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, request.UserId); + : _dtoService.GetItemByDtoId(request.Id, request.UserId); while (item.ThemeVideoIds.Count == 0 && request.InheritFromParent && item.Parent != null) { @@ -566,11 +559,9 @@ namespace MediaBrowser.Api .Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)) .ToList(); - var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo); - var tasks = item.ThemeVideoIds.Select(_itemRepo.RetrieveItem) .OrderBy(i => i.SortName) - .Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, item)); + .Select(i => _dtoService.GetBaseItemDto(i, fields, user, item)); var items = await Task.WhenAll(tasks).ConfigureAwait(false); @@ -578,7 +569,7 @@ namespace MediaBrowser.Api { Items = items, TotalRecordCount = items.Length, - OwnerId = DtoBuilder.GetClientItemId(item) + OwnerId = _dtoService.GetDtoId(item) }; } } diff --git a/MediaBrowser.Api/MoviesService.cs b/MediaBrowser.Api/MoviesService.cs index 5ec9aa1031..b0a4268da9 100644 --- a/MediaBrowser.Api/MoviesService.cs +++ b/MediaBrowser.Api/MoviesService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; @@ -42,19 +43,21 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IItemRepository _itemRepo; - + private readonly IDtoService _dtoService; + /// <summary> /// Initializes a new instance of the <see cref="MoviesService"/> class. /// </summary> /// <param name="userManager">The user manager.</param> /// <param name="userDataRepository">The user data repository.</param> /// <param name="libraryManager">The library manager.</param> - public MoviesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo) + public MoviesService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService) { _userManager = userManager; _userDataRepository = userDataRepository; _libraryManager = libraryManager; _itemRepo = itemRepo; + _dtoService = dtoService; } /// <summary> @@ -68,6 +71,7 @@ namespace MediaBrowser.Api _itemRepo, _libraryManager, _userDataRepository, + _dtoService, Logger, request, item => item is Movie || (item is Trailer && request.IncludeTrailers), SimilarItemsHelper.GetSimiliarityScore); diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index e08152786d..f0b6093492 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -31,31 +31,32 @@ namespace MediaBrowser.Api.Playback /// Gets or sets the application paths. /// </summary> /// <value>The application paths.</value> - protected IServerApplicationPaths ApplicationPaths { get; set; } + protected IServerApplicationPaths ApplicationPaths { get; private set; } /// <summary> /// Gets or sets the user manager. /// </summary> /// <value>The user manager.</value> - protected IUserManager UserManager { get; set; } + protected IUserManager UserManager { get; private set; } /// <summary> /// Gets or sets the library manager. /// </summary> /// <value>The library manager.</value> - protected ILibraryManager LibraryManager { get; set; } + protected ILibraryManager LibraryManager { get; private set; } /// <summary> /// Gets or sets the iso manager. /// </summary> /// <value>The iso manager.</value> - protected IIsoManager IsoManager { get; set; } + protected IIsoManager IsoManager { get; private set; } /// <summary> /// Gets or sets the media encoder. /// </summary> /// <value>The media encoder.</value> - protected IMediaEncoder MediaEncoder { get; set; } + protected IMediaEncoder MediaEncoder { get; private set; } + protected IDtoService DtoService { get; private set; } /// <summary> /// Initializes a new instance of the <see cref="BaseStreamingService" /> class. @@ -65,8 +66,9 @@ namespace MediaBrowser.Api.Playback /// <param name="libraryManager">The library manager.</param> /// <param name="isoManager">The iso manager.</param> /// <param name="mediaEncoder">The media encoder.</param> - protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder) + protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService) { + DtoService = dtoService; ApplicationPaths = appPaths; UserManager = userManager; LibraryManager = libraryManager; @@ -751,7 +753,7 @@ namespace MediaBrowser.Api.Playback /// <returns>StreamState.</returns> protected StreamState GetState(StreamRequest request) { - var item = DtoBuilder.GetItemByClientId(request.Id, UserManager, LibraryManager); + var item = DtoService.GetItemByDtoId(request.Id); var media = (IHasMediaStreams)item; diff --git a/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs b/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs index afd6965458..68a252d1bd 100644 --- a/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/AudioHlsService.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.MediaInfo; using MediaBrowser.Controller; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; using MediaBrowser.Model.IO; @@ -53,8 +54,8 @@ namespace MediaBrowser.Api.Playback.Hls /// <param name="libraryManager">The library manager.</param> /// <param name="isoManager">The iso manager.</param> /// <param name="mediaEncoder">The media encoder.</param> - public AudioHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder) - : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder) + public AudioHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService) + : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService) { } diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index 7db38ddfcf..6c56425a6b 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -3,6 +3,7 @@ using MediaBrowser.Common.IO; using MediaBrowser.Common.MediaInfo; using MediaBrowser.Common.Net; using MediaBrowser.Controller; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Model.IO; @@ -37,8 +38,8 @@ namespace MediaBrowser.Api.Playback.Hls /// <param name="libraryManager">The library manager.</param> /// <param name="isoManager">The iso manager.</param> /// <param name="mediaEncoder">The media encoder.</param> - protected BaseHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder) - : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder) + protected BaseHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService) + : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService) { } diff --git a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs index 983b49d53e..dfe154c09d 100644 --- a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.MediaInfo; using MediaBrowser.Controller; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; using MediaBrowser.Model.IO; using ServiceStack.ServiceHost; @@ -69,8 +70,8 @@ namespace MediaBrowser.Api.Playback.Hls /// <param name="libraryManager">The library manager.</param> /// <param name="isoManager">The iso manager.</param> /// <param name="mediaEncoder">The media encoder.</param> - public VideoHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder) - : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder) + public VideoHlsService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService) + : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService) { } diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs index 337a290b4d..d935fea79b 100644 --- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs +++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.MediaInfo; using MediaBrowser.Controller; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; using MediaBrowser.Model.IO; @@ -48,8 +49,8 @@ namespace MediaBrowser.Api.Playback.Progressive /// <param name="libraryManager">The library manager.</param> /// <param name="isoManager">The iso manager.</param> /// <param name="mediaEncoder">The media encoder.</param> - public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo) - : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo) + public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService) + : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService) { } diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs index feacc3fd01..21ef2ba0ae 100644 --- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs +++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs @@ -2,6 +2,7 @@ using MediaBrowser.Common.MediaInfo; using MediaBrowser.Common.Net; using MediaBrowser.Controller; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; @@ -23,9 +24,9 @@ namespace MediaBrowser.Api.Playback.Progressive public abstract class BaseProgressiveStreamingService : BaseStreamingService { protected readonly IItemRepository ItemRepository; - - protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepository) : - base(appPaths, userManager, libraryManager, isoManager, mediaEncoder) + + protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepository, IDtoService dtoService) : + base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService) { ItemRepository = itemRepository; } @@ -302,7 +303,7 @@ namespace MediaBrowser.Api.Playback.Progressive } } - return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository) + return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository, DtoService) { Logger = Logger, RequestContext = RequestContext, @@ -342,7 +343,7 @@ namespace MediaBrowser.Api.Playback.Progressive ApiEntryPoint.Instance.OnTranscodeBeginRequest(outputPath, TranscodingJobType.Progressive); } - var result = new ProgressiveStreamWriter(outputPath, state, Logger); + var result = new ProgressiveStreamWriter(outputPath, Logger); result.Options["Accept-Ranges"] = "none"; result.Options["Content-Type"] = contentType; diff --git a/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs b/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs index 6eb3eb6430..c967a0d015 100644 --- a/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs +++ b/MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs @@ -12,7 +12,6 @@ namespace MediaBrowser.Api.Playback.Progressive public class ProgressiveStreamWriter : IStreamWriter, IHasOptions { private string Path { get; set; } - private StreamState State { get; set; } private ILogger Logger { get; set; } /// <summary> @@ -32,12 +31,10 @@ namespace MediaBrowser.Api.Playback.Progressive /// Initializes a new instance of the <see cref="ProgressiveStreamWriter" /> class. /// </summary> /// <param name="path">The path.</param> - /// <param name="state">The state.</param> /// <param name="logger">The logger.</param> - public ProgressiveStreamWriter(string path, StreamState state, ILogger logger) + public ProgressiveStreamWriter(string path, ILogger logger) { Path = path; - State = state; Logger = logger; } diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs index 851a46edc6..eb53bc2cee 100644 --- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs +++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs @@ -1,5 +1,6 @@ using MediaBrowser.Common.MediaInfo; using MediaBrowser.Controller; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; @@ -60,8 +61,8 @@ namespace MediaBrowser.Api.Playback.Progressive /// <param name="libraryManager">The library manager.</param> /// <param name="isoManager">The iso manager.</param> /// <param name="mediaEncoder">The media encoder.</param> - public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo) - : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo) + public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService) + : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService) { } diff --git a/MediaBrowser.Api/SearchService.cs b/MediaBrowser.Api/SearchService.cs index f889706c04..33b7422e6d 100644 --- a/MediaBrowser.Api/SearchService.cs +++ b/MediaBrowser.Api/SearchService.cs @@ -65,6 +65,7 @@ namespace MediaBrowser.Api /// </summary> private readonly ILibrarySearchEngine _searchEngine; private readonly ILibraryManager _libraryManager; + private readonly IDtoService _dtoService; /// <summary> /// Initializes a new instance of the <see cref="SearchService" /> class. @@ -72,11 +73,12 @@ namespace MediaBrowser.Api /// <param name="userManager">The user manager.</param> /// <param name="searchEngine">The search engine.</param> /// <param name="libraryManager">The library manager.</param> - public SearchService(IUserManager userManager, ILibrarySearchEngine searchEngine, ILibraryManager libraryManager) + public SearchService(IUserManager userManager, ILibrarySearchEngine searchEngine, ILibraryManager libraryManager, IDtoService dtoService) { _userManager = userManager; _searchEngine = searchEngine; _libraryManager = libraryManager; + _dtoService = dtoService; } /// <summary> @@ -149,7 +151,7 @@ namespace MediaBrowser.Api Name = item.Name, IndexNumber = item.IndexNumber, ParentIndexNumber = item.ParentIndexNumber, - ItemId = DtoBuilder.GetClientItemId(item), + ItemId = _dtoService.GetDtoId(item), Type = item.GetType().Name, MediaType = item.MediaType, MatchedTerm = hintInfo.MatchedTerm, diff --git a/MediaBrowser.Api/SessionsService.cs b/MediaBrowser.Api/SessionsService.cs index bd05c32509..a0ef4a9a36 100644 --- a/MediaBrowser.Api/SessionsService.cs +++ b/MediaBrowser.Api/SessionsService.cs @@ -180,13 +180,16 @@ namespace MediaBrowser.Api /// </summary> private readonly ISessionManager _sessionManager; + private readonly IDtoService _dtoService; + /// <summary> /// Initializes a new instance of the <see cref="SessionsService" /> class. /// </summary> /// <param name="sessionManager">The session manager.</param> - public SessionsService(ISessionManager sessionManager) + public SessionsService(ISessionManager sessionManager, IDtoService dtoService) { _sessionManager = sessionManager; + _dtoService = dtoService; } /// <summary> @@ -203,7 +206,7 @@ namespace MediaBrowser.Api result = result.Where(i => i.SupportsRemoteControl == request.SupportsRemoteControl.Value); } - return ToOptimizedResult(result.Select(SessionInfoDtoBuilder.GetSessionInfoDto).ToList()); + return ToOptimizedResult(result.Select(_dtoService.GetSessionInfoDto).ToList()); } public void Post(SendPlaystateCommand request) diff --git a/MediaBrowser.Api/SimilarItemsHelper.cs b/MediaBrowser.Api/SimilarItemsHelper.cs index 7af3b399ea..5d10afd2cf 100644 --- a/MediaBrowser.Api/SimilarItemsHelper.cs +++ b/MediaBrowser.Api/SimilarItemsHelper.cs @@ -87,23 +87,22 @@ namespace MediaBrowser.Api /// <param name="itemRepository">The item repository.</param> /// <param name="libraryManager">The library manager.</param> /// <param name="userDataRepository">The user data repository.</param> + /// <param name="dtoService">The dto service.</param> /// <param name="logger">The logger.</param> /// <param name="request">The request.</param> /// <param name="includeInSearch">The include in search.</param> /// <param name="getSimilarityScore">The get similarity score.</param> /// <returns>ItemsResult.</returns> - internal static ItemsResult GetSimilarItemsResult(IUserManager userManager, IItemRepository itemRepository, ILibraryManager libraryManager, IUserDataRepository userDataRepository, ILogger logger, BaseGetSimilarItemsFromItem request, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore) + internal static ItemsResult GetSimilarItemsResult(IUserManager userManager, IItemRepository itemRepository, ILibraryManager libraryManager, IUserDataRepository userDataRepository, IDtoService dtoService, ILogger logger, BaseGetSimilarItemsFromItem request, Func<BaseItem, bool> includeInSearch, Func<BaseItem, BaseItem, int> getSimilarityScore) { var user = request.UserId.HasValue ? userManager.GetUserById(request.UserId.Value) : null; var item = string.IsNullOrEmpty(request.Id) ? (request.UserId.HasValue ? user.RootFolder : - (Folder)libraryManager.RootFolder) : DtoBuilder.GetItemByClientId(request.Id, userManager, libraryManager, request.UserId); + (Folder)libraryManager.RootFolder) : dtoService.GetItemByDtoId(request.Id, request.UserId); var fields = request.GetItemFields().ToList(); - var dtoBuilder = new DtoBuilder(logger, libraryManager, userDataRepository, itemRepository); - var inputItems = user == null ? libraryManager.RootFolder.RecursiveChildren : user.RootFolder.GetRecursiveChildren(user); @@ -113,7 +112,7 @@ namespace MediaBrowser.Api var result = new ItemsResult { - Items = items.Take(request.Limit ?? items.Length).Select(i => dtoBuilder.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToArray(), + Items = items.Take(request.Limit ?? items.Length).Select(i => dtoService.GetBaseItemDto(i, fields, user)).Select(t => t.Result).ToArray(), TotalRecordCount = items.Length }; diff --git a/MediaBrowser.Api/TrailersService.cs b/MediaBrowser.Api/TrailersService.cs index ba544a49b3..c6336847a8 100644 --- a/MediaBrowser.Api/TrailersService.cs +++ b/MediaBrowser.Api/TrailersService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Dto; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; @@ -35,19 +36,21 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IItemRepository _itemRepo; - + private readonly IDtoService _dtoService; + /// <summary> /// Initializes a new instance of the <see cref="TrailersService"/> class. /// </summary> /// <param name="userManager">The user manager.</param> /// <param name="userDataRepository">The user data repository.</param> /// <param name="libraryManager">The library manager.</param> - public TrailersService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo) + public TrailersService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService) { _userManager = userManager; _userDataRepository = userDataRepository; _libraryManager = libraryManager; _itemRepo = itemRepo; + _dtoService = dtoService; } /// <summary> @@ -61,6 +64,7 @@ namespace MediaBrowser.Api _itemRepo, _libraryManager, _userDataRepository, + _dtoService, Logger, request, item => item is Movie || item is Trailer, SimilarItemsHelper.GetSimiliarityScore); diff --git a/MediaBrowser.Api/TvShowsService.cs b/MediaBrowser.Api/TvShowsService.cs index cdb27fb0c4..0e0493747d 100644 --- a/MediaBrowser.Api/TvShowsService.cs +++ b/MediaBrowser.Api/TvShowsService.cs @@ -101,19 +101,21 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IItemRepository _itemRepo; - + private readonly IDtoService _dtoService; + /// <summary> /// Initializes a new instance of the <see cref="TvShowsService" /> class. /// </summary> /// <param name="userManager">The user manager.</param> /// <param name="userDataRepository">The user data repository.</param> /// <param name="libraryManager">The library manager.</param> - public TvShowsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo) + public TvShowsService(IUserManager userManager, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService) { _userManager = userManager; _userDataRepository = userDataRepository; _libraryManager = libraryManager; _itemRepo = itemRepo; + _dtoService = dtoService; } /// <summary> @@ -127,6 +129,7 @@ namespace MediaBrowser.Api _itemRepo, _libraryManager, _userDataRepository, + _dtoService, Logger, request, item => item is Series, SimilarItemsHelper.GetSimiliarityScore); @@ -253,9 +256,7 @@ namespace MediaBrowser.Api /// <returns>Task.</returns> private Task<BaseItemDto[]> GetItemDtos(IEnumerable<BaseItem> pagedItems, User user, List<ItemFields> fields) { - var dtoBuilder = new DtoBuilder(Logger, _libraryManager, _userDataRepository, _itemRepo); - - return Task.WhenAll(pagedItems.Select(i => dtoBuilder.GetBaseItemDto(i, fields, user))); + return Task.WhenAll(pagedItems.Select(i => _dtoService.GetBaseItemDto(i, fields, user))); } /// <summary> diff --git a/MediaBrowser.Api/UserLibrary/ArtistsService.cs b/MediaBrowser.Api/UserLibrary/ArtistsService.cs index f65de2e69c..3213b2e670 100644 --- a/MediaBrowser.Api/UserLibrary/ArtistsService.cs +++ b/MediaBrowser.Api/UserLibrary/ArtistsService.cs @@ -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> diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 0b54541e5e..8bb07caa90 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -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)) { diff --git a/MediaBrowser.Api/UserLibrary/GameGenresService.cs b/MediaBrowser.Api/UserLibrary/GameGenresService.cs index 792cdb8540..50ee098266 100644 --- a/MediaBrowser.Api/UserLibrary/GameGenresService.cs +++ b/MediaBrowser.Api/UserLibrary/GameGenresService.cs @@ -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> diff --git a/MediaBrowser.Api/UserLibrary/GenresService.cs b/MediaBrowser.Api/UserLibrary/GenresService.cs index f10ca9cf4c..83405bf52f 100644 --- a/MediaBrowser.Api/UserLibrary/GenresService.cs +++ b/MediaBrowser.Api/UserLibrary/GenresService.cs @@ -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> diff --git a/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs b/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs index 1e990b3e93..911fd03b30 100644 --- a/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs @@ -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); } } } diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index d06941bb81..5013f685a8 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -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(); diff --git a/MediaBrowser.Api/UserLibrary/MusicGenresService.cs b/MediaBrowser.Api/UserLibrary/MusicGenresService.cs index b4d1b82dd9..d9f0016fbc 100644 --- a/MediaBrowser.Api/UserLibrary/MusicGenresService.cs +++ b/MediaBrowser.Api/UserLibrary/MusicGenresService.cs @@ -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> diff --git a/MediaBrowser.Api/UserLibrary/PersonsService.cs b/MediaBrowser.Api/UserLibrary/PersonsService.cs index 37df763d2c..a21c539762 100644 --- a/MediaBrowser.Api/UserLibrary/PersonsService.cs +++ b/MediaBrowser.Api/UserLibrary/PersonsService.cs @@ -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> diff --git a/MediaBrowser.Api/UserLibrary/StudiosService.cs b/MediaBrowser.Api/UserLibrary/StudiosService.cs index e19c2bc20a..f58adb1fa4 100644 --- a/MediaBrowser.Api/UserLibrary/StudiosService.cs +++ b/MediaBrowser.Api/UserLibrary/StudiosService.cs @@ -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> diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs index b80d90e41e..4e8ef7d8dc 100644 --- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs +++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs @@ -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())); } } } diff --git a/MediaBrowser.Api/UserLibrary/YearsService.cs b/MediaBrowser.Api/UserLibrary/YearsService.cs index bfd493240c..b153b6e10d 100644 --- a/MediaBrowser.Api/UserLibrary/YearsService.cs +++ b/MediaBrowser.Api/UserLibrary/YearsService.cs @@ -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> diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index 1e928c301e..5c8d6a868d 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -171,16 +171,15 @@ namespace MediaBrowser.Api /// The _user manager /// </summary> private readonly IUserManager _userManager; - private readonly ILibraryManager _libraryManager; + private readonly IDtoService _dtoService; /// <summary> /// Initializes a new instance of the <see cref="UserService" /> class. /// </summary> /// <param name="xmlSerializer">The XML serializer.</param> /// <param name="userManager">The user manager.</param> - /// <param name="libraryManager">The library manager.</param> /// <exception cref="System.ArgumentNullException">xmlSerializer</exception> - public UserService(IXmlSerializer xmlSerializer, IUserManager userManager, ILibraryManager libraryManager) + public UserService(IXmlSerializer xmlSerializer, IUserManager userManager, IDtoService dtoService) : base() { if (xmlSerializer == null) @@ -190,7 +189,7 @@ namespace MediaBrowser.Api _xmlSerializer = xmlSerializer; _userManager = userManager; - _libraryManager = libraryManager; + _dtoService = dtoService; } public object Get(GetPublicUsers request) @@ -209,8 +208,6 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetUsers request) { - var dtoBuilder = new UserDtoBuilder(Logger); - var users = _userManager.Users; if (request.IsDisabled.HasValue) @@ -223,7 +220,7 @@ namespace MediaBrowser.Api users = users.Where(i => i.Configuration.IsHidden == request.IsHidden.Value); } - var tasks = users.OrderBy(u => u.Name).Select(dtoBuilder.GetUserDto).Select(i => i.Result); + var tasks = users.OrderBy(u => u.Name).Select(_dtoService.GetUserDto).Select(i => i.Result); return ToOptimizedResult(tasks.ToList()); } @@ -242,9 +239,7 @@ namespace MediaBrowser.Api throw new ResourceNotFoundException("User not found"); } - var dtoBuilder = new UserDtoBuilder(Logger); - - var result = dtoBuilder.GetUserDto(user).Result; + var result = _dtoService.GetUserDto(user).Result; return ToOptimizedResult(result); } @@ -310,7 +305,7 @@ namespace MediaBrowser.Api var result = new AuthenticationResult { - User = await new UserDtoBuilder(Logger).GetUserDto(user).ConfigureAwait(false) + User = await _dtoService.GetUserDto(user).ConfigureAwait(false) }; return result; @@ -409,9 +404,7 @@ namespace MediaBrowser.Api newUser.UpdateConfiguration(dtoUser.Configuration, _xmlSerializer); - var dtoBuilder = new UserDtoBuilder(Logger); - - var result = dtoBuilder.GetUserDto(newUser).Result; + var result = _dtoService.GetUserDto(newUser).Result; return ToOptimizedResult(result); } diff --git a/MediaBrowser.Api/VideosService.cs b/MediaBrowser.Api/VideosService.cs index 3208ad46dc..9827ac50fe 100644 --- a/MediaBrowser.Api/VideosService.cs +++ b/MediaBrowser.Api/VideosService.cs @@ -30,14 +30,14 @@ namespace MediaBrowser.Api private readonly ILibraryManager _libraryManager; private readonly IUserManager _userManager; - private readonly IUserDataRepository _userDataRepository; + private readonly IDtoService _dtoService; - public VideosService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, IUserDataRepository userDataRepository) + public VideosService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, IDtoService dtoService) { _itemRepo = itemRepo; _libraryManager = libraryManager; _userManager = userManager; - _userDataRepository = userDataRepository; + _dtoService = dtoService; } /// <summary> @@ -53,20 +53,18 @@ namespace MediaBrowser.Api ? (request.UserId.HasValue ? user.RootFolder : (Folder)_libraryManager.RootFolder) - : DtoBuilder.GetItemByClientId(request.Id, _userManager, _libraryManager, request.UserId); + : _dtoService.GetItemByDtoId(request.Id, request.UserId); // 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 video = (Video)item; var items = video.AdditionalPartIds.Select(_itemRepo.RetrieveItem) .OrderBy(i => i.SortName) - .Select(i => dtoBuilder.GetBaseItemDto(i, fields, user, video)) + .Select(i => _dtoService.GetBaseItemDto(i, fields, user, video)) .Select(t => t.Result) .ToArray(); diff --git a/MediaBrowser.Api/WebSocket/SessionInfoWebSocketListener.cs b/MediaBrowser.Api/WebSocket/SessionInfoWebSocketListener.cs index f010ac3757..38139645eb 100644 --- a/MediaBrowser.Api/WebSocket/SessionInfoWebSocketListener.cs +++ b/MediaBrowser.Api/WebSocket/SessionInfoWebSocketListener.cs @@ -14,6 +14,8 @@ namespace MediaBrowser.Api.WebSocket /// </summary> class SessionInfoWebSocketListener : BasePeriodicWebSocketListener<IEnumerable<SessionInfoDto>, object> { + private readonly IDtoService _dtoService; + /// <summary> /// Gets the name. /// </summary> @@ -33,10 +35,11 @@ namespace MediaBrowser.Api.WebSocket /// </summary> /// <param name="logger">The logger.</param> /// <param name="sessionManager">The session manager.</param> - public SessionInfoWebSocketListener(ILogger logger, ISessionManager sessionManager) + public SessionInfoWebSocketListener(ILogger logger, ISessionManager sessionManager, IDtoService dtoService) : base(logger) { _sessionManager = sessionManager; + _dtoService = dtoService; } /// <summary> @@ -46,7 +49,7 @@ namespace MediaBrowser.Api.WebSocket /// <returns>Task{SystemInfo}.</returns> protected override Task<IEnumerable<SessionInfoDto>> GetDataToSend(object state) { - return Task.FromResult(_sessionManager.Sessions.Select(SessionInfoDtoBuilder.GetSessionInfoDto)); + return Task.FromResult(_sessionManager.Sessions.Select(_dtoService.GetSessionInfoDto)); } } } |
