diff options
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers')
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/GenresHandler.cs | 21 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/StudiosHandler.cs | 21 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/YearsHandler.cs | 21 |
3 files changed, 48 insertions, 15 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs index 3280c3e32..b5608c0a3 100644 --- a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs @@ -9,9 +9,9 @@ using MediaBrowser.Model.Entities; namespace MediaBrowser.Api.HttpHandlers
{
- public class GenresHandler : BaseJsonHandler<IEnumerable<IBNItem>>
+ public class GenresHandler : BaseJsonHandler<IBNItem[]>
{
- protected override Task<IEnumerable<IBNItem>> GetObjectToSerialize()
+ protected override Task<IBNItem[]> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -24,7 +24,7 @@ namespace MediaBrowser.Api.HttpHandlers /// Gets all genres from all recursive children of a folder
/// The CategoryInfo class is used to keep track of the number of times each genres appears
/// </summary>
- private async Task<IEnumerable<IBNItem>> GetAllGenres(Folder parent, User user)
+ private async Task<IBNItem[]> GetAllGenres(Folder parent, User user)
{
Dictionary<string, int> data = new Dictionary<string, int>();
@@ -53,9 +53,20 @@ namespace MediaBrowser.Api.HttpHandlers }
}
- IEnumerable<Genre> entities = await Task.WhenAll<Genre>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetGenre(key); })).ConfigureAwait(false);
+ // Get the Genre objects
+ Genre[] entities = await Task.WhenAll<Genre>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetGenre(key); })).ConfigureAwait(false);
- return entities.Select(e => ApiService.GetIBNItem(e, data[e.Name]));
+ // Convert to an array of IBNItem
+ IBNItem[] items = new IBNItem[entities.Length];
+
+ for (int i = 0; i < entities.Length; i++)
+ {
+ Genre e = entities[i];
+
+ items[i] = ApiService.GetIBNItem(e, data[e.Name]);
+ }
+
+ return items;
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs index 64348ac89..486aa762b 100644 --- a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs @@ -9,9 +9,9 @@ using MediaBrowser.Model.Entities; namespace MediaBrowser.Api.HttpHandlers
{
- public class StudiosHandler : BaseJsonHandler<IEnumerable<IBNItem>>
+ public class StudiosHandler : BaseJsonHandler<IBNItem[]>
{
- protected override Task<IEnumerable<IBNItem>> GetObjectToSerialize()
+ protected override Task<IBNItem[]> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -24,7 +24,7 @@ namespace MediaBrowser.Api.HttpHandlers /// Gets all studios from all recursive children of a folder
/// The CategoryInfo class is used to keep track of the number of times each studio appears
/// </summary>
- private async Task<IEnumerable<IBNItem>> GetAllStudios(Folder parent, User user)
+ private async Task<IBNItem[]> GetAllStudios(Folder parent, User user)
{
Dictionary<string, int> data = new Dictionary<string, int>();
@@ -53,9 +53,20 @@ namespace MediaBrowser.Api.HttpHandlers }
}
- IEnumerable<Studio> entities = await Task.WhenAll<Studio>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetStudio(key); })).ConfigureAwait(false);
+ // Get the Studio objects
+ Studio[] entities = await Task.WhenAll<Studio>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetStudio(key); })).ConfigureAwait(false);
- return entities.Select(e => ApiService.GetIBNItem(e, data[e.Name]));
+ // Convert to an array of IBNItem
+ IBNItem[] items = new IBNItem[entities.Length];
+
+ for (int i = 0; i < entities.Length; i++)
+ {
+ Studio e = entities[i];
+
+ items[i] = ApiService.GetIBNItem(e, data[e.Name]);
+ }
+
+ return items;
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs index ee07ac8b0..ff05120a0 100644 --- a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs @@ -9,9 +9,9 @@ using MediaBrowser.Model.Entities; namespace MediaBrowser.Api.HttpHandlers
{
- public class YearsHandler : BaseJsonHandler<IEnumerable<IBNItem>>
+ public class YearsHandler : BaseJsonHandler<IBNItem[]>
{
- protected override Task<IEnumerable<IBNItem>> GetObjectToSerialize()
+ protected override Task<IBNItem[]> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -24,7 +24,7 @@ namespace MediaBrowser.Api.HttpHandlers /// Gets all years from all recursive children of a folder
/// The CategoryInfo class is used to keep track of the number of times each year appears
/// </summary>
- private async Task<IEnumerable<IBNItem>> GetAllYears(Folder parent, User user)
+ private async Task<IBNItem[]> GetAllYears(Folder parent, User user)
{
Dictionary<int, int> data = new Dictionary<int, int>();
@@ -50,9 +50,20 @@ namespace MediaBrowser.Api.HttpHandlers }
}
- IEnumerable<Year> entities = await Task.WhenAll<Year>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetYear(key); })).ConfigureAwait(false);
+ // Get the Year objects
+ Year[] entities = await Task.WhenAll<Year>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetYear(key); })).ConfigureAwait(false);
- return entities.Select(e => ApiService.GetIBNItem(e, data[int.Parse(e.Name)]));
+ // Convert to an array of IBNItem
+ IBNItem[] items = new IBNItem[entities.Length];
+
+ for (int i = 0; i < entities.Length; i++)
+ {
+ Year e = entities[i];
+
+ items[i] = ApiService.GetIBNItem(e, data[int.Parse(e.Name)]);
+ }
+
+ return items;
}
}
}
|
