Created an ItemsByName query dto

This commit is contained in:
LukePulverenti
2013-03-02 02:16:52 -05:00
parent 79baaa4daa
commit e8f5fade43
14 changed files with 94 additions and 38 deletions

View File

@@ -82,7 +82,9 @@ namespace MediaBrowser.Api.UserLibrary
}
var tasks = ibnItems.Select(i => GetDto(i, user, new List<ItemFields>()));
var fields = GetItemFields(request).ToList();
var tasks = ibnItems.Select(i => GetDto(i, user, fields));
var resultItems = await Task.WhenAll(tasks).ConfigureAwait(false);
@@ -91,6 +93,23 @@ namespace MediaBrowser.Api.UserLibrary
return result;
}
/// <summary>
/// Gets the item fields.
/// </summary>
/// <param name="request">The request.</param>
/// <returns>IEnumerable{ItemFields}.</returns>
private IEnumerable<ItemFields> GetItemFields(GetItemsByName request)
{
var val = request.Fields;
if (string.IsNullOrEmpty(val))
{
return new ItemFields[] { };
}
return val.Split(',').Select(v => (ItemFields)Enum.Parse(typeof(ItemFields), v, true));
}
/// <summary>
/// Gets all items.
/// </summary>
@@ -171,5 +190,10 @@ namespace MediaBrowser.Api.UserLibrary
/// </summary>
/// <value>The item id.</value>
public string Id { get; set; }
/// <summary>
/// Fields to return within the items, in addition to basic information
/// </summary>
/// <value>The fields.</value>
public string Fields { get; set; }
}
}