From e8f5fade43b4e19825fe6d628a76538157f1fc18 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sat, 2 Mar 2013 02:16:52 -0500 Subject: Created an ItemsByName query dto --- .../UserLibrary/BaseItemsByNameService.cs | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs') diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index ce3d9d8e0..4fe19fcf3 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -82,7 +82,9 @@ namespace MediaBrowser.Api.UserLibrary } - var tasks = ibnItems.Select(i => GetDto(i, user, new List())); + 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; } + /// + /// Gets the item fields. + /// + /// The request. + /// IEnumerable{ItemFields}. + private IEnumerable 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)); + } + /// /// Gets all items. /// @@ -171,5 +190,10 @@ namespace MediaBrowser.Api.UserLibrary /// /// The item id. public string Id { get; set; } + /// + /// Fields to return within the items, in addition to basic information + /// + /// The fields. + public string Fields { get; set; } } } -- cgit v1.2.3