aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-15 12:56:38 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-15 12:56:38 -0400
commit59d576ba09ca46e5ea7c1a300d82f3dc586b244e (patch)
tree862460e02cc8bea2fa1aa727797132908831d9d9 /MediaBrowser.Controller
parent58cc2248b9fc0daca3110527086612b4a99cfcf1 (diff)
updated theme song/video url's
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Dto/DtoBuilder.cs68
1 files changed, 6 insertions, 62 deletions
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs
index ca08a3290..2d8cd5f08 100644
--- a/MediaBrowser.Controller/Dto/DtoBuilder.cs
+++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs
@@ -40,18 +40,20 @@ namespace MediaBrowser.Controller.Dto
}
/// <summary>
- /// Gets the dto base item.
+ /// Converts a BaseItem to a DTOBaseItem
/// </summary>
/// <param name="item">The item.</param>
/// <param name="fields">The fields.</param>
+ /// <param name="user">The user.</param>
/// <returns>Task{DtoBaseItem}.</returns>
/// <exception cref="System.ArgumentNullException">item</exception>
- public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, List<ItemFields> fields)
+ public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, List<ItemFields> fields, User user = null)
{
if (item == null)
{
throw new ArgumentNullException("item");
}
+
if (fields == null)
{
throw new ArgumentNullException("fields");
@@ -71,69 +73,11 @@ namespace MediaBrowser.Controller.Dto
tasks.Add(AttachPeople(dto, item));
}
- if (fields.Contains(ItemFields.PrimaryImageAspectRatio))
- {
- try
- {
- await AttachPrimaryImageAspectRatio(dto, item, _logger).ConfigureAwait(false);
- }
- catch (Exception ex)
- {
- // Have to use a catch-all unfortunately because some .net image methods throw plain Exceptions
- _logger.ErrorException("Error generating PrimaryImageAspectRatio for {0}", ex, item.Name);
- }
- }
-
- AttachBasicFields(dto, item, fields);
-
- // Make sure all the tasks we kicked off have completed.
- if (tasks.Count > 0)
+ if (user != null)
{
- await Task.WhenAll(tasks).ConfigureAwait(false);
+ tasks.Add(AttachUserSpecificInfo(dto, item, user, fields));
}
- return dto;
- }
-
- /// <summary>
- /// Converts a BaseItem to a DTOBaseItem
- /// </summary>
- /// <param name="item">The item.</param>
- /// <param name="user">The user.</param>
- /// <param name="fields">The fields.</param>
- /// <returns>Task{DtoBaseItem}.</returns>
- /// <exception cref="System.ArgumentNullException">item</exception>
- public async Task<BaseItemDto> GetBaseItemDto(BaseItem item, User user, List<ItemFields> fields)
- {
- if (item == null)
- {
- throw new ArgumentNullException("item");
- }
- if (user == null)
- {
- throw new ArgumentNullException("user");
- }
- if (fields == null)
- {
- throw new ArgumentNullException("fields");
- }
-
- var dto = new BaseItemDto();
-
- var tasks = new List<Task>();
-
- if (fields.Contains(ItemFields.Studios))
- {
- tasks.Add(AttachStudios(dto, item));
- }
-
- if (fields.Contains(ItemFields.People))
- {
- tasks.Add(AttachPeople(dto, item));
- }
-
- tasks.Add(AttachUserSpecificInfo(dto, item, user, fields));
-
if (fields.Contains(ItemFields.PrimaryImageAspectRatio))
{
try