aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-04 13:02:19 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-04 13:02:19 -0400
commitdfe91e43b676915b840f0958e331ba2cb57966d4 (patch)
tree4e1fe02b4b767f3a5b81eb4eefbf97581a8dc37c /MediaBrowser.Api
parent981973a028f51410b5fcc114d959bcad326aac52 (diff)
Added IDtoService
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/AlbumsService.cs8
-rw-r--r--MediaBrowser.Api/GamesService.cs8
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs19
-rw-r--r--MediaBrowser.Api/InstantMixService.cs17
-rw-r--r--MediaBrowser.Api/ItemRefreshService.cs12
-rw-r--r--MediaBrowser.Api/ItemUpdateService.cs8
-rw-r--r--MediaBrowser.Api/LibraryService.cs37
-rw-r--r--MediaBrowser.Api/MoviesService.cs10
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs16
-rw-r--r--MediaBrowser.Api/Playback/Hls/AudioHlsService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Hls/BaseHlsService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Hls/VideoHlsService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Progressive/AudioService.cs5
-rw-r--r--MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs11
-rw-r--r--MediaBrowser.Api/Playback/Progressive/ProgressiveStreamWriter.cs5
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs5
-rw-r--r--MediaBrowser.Api/SearchService.cs6
-rw-r--r--MediaBrowser.Api/SessionsService.cs7
-rw-r--r--MediaBrowser.Api/SimilarItemsHelper.cs9
-rw-r--r--MediaBrowser.Api/TrailersService.cs10
-rw-r--r--MediaBrowser.Api/TvShowsService.cs11
-rw-r--r--MediaBrowser.Api/UserLibrary/ArtistsService.cs10
-rw-r--r--MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs12
-rw-r--r--MediaBrowser.Api/UserLibrary/GameGenresService.cs10
-rw-r--r--MediaBrowser.Api/UserLibrary/GenresService.cs10
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemByNameUserDataService.cs8
-rw-r--r--MediaBrowser.Api/UserLibrary/ItemsService.cs18
-rw-r--r--MediaBrowser.Api/UserLibrary/MusicGenresService.cs10
-rw-r--r--MediaBrowser.Api/UserLibrary/PersonsService.cs13
-rw-r--r--MediaBrowser.Api/UserLibrary/StudiosService.cs12
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs48
-rw-r--r--MediaBrowser.Api/UserLibrary/YearsService.cs12
-rw-r--r--MediaBrowser.Api/UserService.cs21
-rw-r--r--MediaBrowser.Api/VideosService.cs12
-rw-r--r--MediaBrowser.Api/WebSocket/SessionInfoWebSocketListener.cs7
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));
}
}
}