diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-23 08:50:41 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-23 08:50:41 -0400 |
| commit | 4527a187387295d73568bc3eef18aaad78633dfd (patch) | |
| tree | 03e28d3c4668c8ba1edb03f85c3d0576ee5af4f0 | |
| parent | ef039884427f1239fa2786d59dd17e80b7fbbf2d (diff) | |
Removed generics from IBNItem
| -rw-r--r-- | MediaBrowser.Api/ApiService.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/GenreHandler.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/GenresHandler.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/PersonHandler.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/StudioHandler.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/StudiosHandler.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/YearHandler.cs | 12 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/YearsHandler.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.ApiInteraction/ApiClient.cs | 28 | ||||
| -rw-r--r-- | MediaBrowser.Model/DTO/IBNItem.cs | 14 |
10 files changed, 65 insertions, 62 deletions
diff --git a/MediaBrowser.Api/ApiService.cs b/MediaBrowser.Api/ApiService.cs index 93daba73d..dd9c575f1 100644 --- a/MediaBrowser.Api/ApiService.cs +++ b/MediaBrowser.Api/ApiService.cs @@ -194,7 +194,7 @@ namespace MediaBrowser.Api dto.LocalTrailers = await Task.WhenAll<DTOBaseItem>(item.LocalTrailers.Select(c => GetDTOBaseItem(c, user, false, false))).ConfigureAwait(false);
}
}
-
+
private static async Task AttachPeople(DTOBaseItem dto, BaseItem item)
{
// Attach People by transforming them into BaseItemPerson (DTO)
@@ -256,5 +256,16 @@ namespace MediaBrowser.Api return null;
}
+
+ public static IBNItem GetIBNItem(BaseEntity entity, int itemCount)
+ {
+ return new IBNItem()
+ {
+ Id = entity.Id,
+ BaseItemCount = itemCount,
+ HasPrimaryImage = !string.IsNullOrEmpty(entity.PrimaryImagePath),
+ Name = entity.Name
+ };
+ }
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs index e9e5c41f4..c2b70e106 100644 --- a/MediaBrowser.Api/HttpHandlers/GenreHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/GenreHandler.cs @@ -12,9 +12,9 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single genre
/// </summary>
- public class GenreHandler : BaseJsonHandler<IBNItem<Genre>>
+ public class GenreHandler : BaseJsonHandler<IBNItem>
{
- protected override Task<IBNItem<Genre>> GetObjectToSerialize()
+ protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -28,7 +28,7 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a Genre
/// </summary>
- private async Task<IBNItem<Genre>> GetGenre(Folder parent, User user, string name)
+ private async Task<IBNItem> GetGenre(Folder parent, User user, string name)
{
int count = 0;
@@ -44,11 +44,7 @@ namespace MediaBrowser.Api.HttpHandlers }
// Get the original entity so that we can also supply the PrimaryImagePath
- return new IBNItem<Genre>()
- {
- Item = await Kernel.Instance.ItemController.GetGenre(name).ConfigureAwait(false),
- BaseItemCount = count
- };
+ return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetGenre(name).ConfigureAwait(false), count);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/GenresHandler.cs b/MediaBrowser.Api/HttpHandlers/GenresHandler.cs index 8ac30043e..3280c3e32 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<Genre>>>
+ public class GenresHandler : BaseJsonHandler<IEnumerable<IBNItem>>
{
- protected override Task<IEnumerable<IBNItem<Genre>>> GetObjectToSerialize()
+ protected override Task<IEnumerable<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<Genre>>> GetAllGenres(Folder parent, User user)
+ private async Task<IEnumerable<IBNItem>> GetAllGenres(Folder parent, User user)
{
Dictionary<string, int> data = new Dictionary<string, int>();
@@ -55,7 +55,7 @@ namespace MediaBrowser.Api.HttpHandlers IEnumerable<Genre> entities = await Task.WhenAll<Genre>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetGenre(key); })).ConfigureAwait(false);
- return entities.Select(e => new IBNItem<Genre>() { Item = e, BaseItemCount = data[e.Name] });
+ return entities.Select(e => ApiService.GetIBNItem(e, data[e.Name]));
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs index b144c0bdf..4db2fada1 100644 --- a/MediaBrowser.Api/HttpHandlers/PersonHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/PersonHandler.cs @@ -12,9 +12,9 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single Person
/// </summary>
- public class PersonHandler : BaseJsonHandler<IBNItem<Person>>
+ public class PersonHandler : BaseJsonHandler<IBNItem>
{
- protected override Task<IBNItem<Person>> GetObjectToSerialize()
+ protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -28,7 +28,7 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a Person
/// </summary>
- private async Task<IBNItem<Person>> GetPerson(Folder parent, User user, string name)
+ private async Task<IBNItem> GetPerson(Folder parent, User user, string name)
{
int count = 0;
@@ -44,11 +44,7 @@ namespace MediaBrowser.Api.HttpHandlers }
// Get the original entity so that we can also supply the PrimaryImagePath
- return new IBNItem<Person>()
- {
- Item = await Kernel.Instance.ItemController.GetPerson(name).ConfigureAwait(false),
- BaseItemCount = count
- };
+ return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetPerson(name).ConfigureAwait(false), count);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs index 727237882..af7e7fed0 100644 --- a/MediaBrowser.Api/HttpHandlers/StudioHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/StudioHandler.cs @@ -12,9 +12,9 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single studio
/// </summary>
- public class StudioHandler : BaseJsonHandler<IBNItem<Studio>>
+ public class StudioHandler : BaseJsonHandler<IBNItem>
{
- protected override Task<IBNItem<Studio>> GetObjectToSerialize()
+ protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -28,7 +28,7 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a Studio
/// </summary>
- private async Task<IBNItem<Studio>> GetStudio(Folder parent, User user, string name)
+ private async Task<IBNItem> GetStudio(Folder parent, User user, string name)
{
int count = 0;
@@ -44,11 +44,7 @@ namespace MediaBrowser.Api.HttpHandlers }
// Get the original entity so that we can also supply the PrimaryImagePath
- return new IBNItem<Studio>()
- {
- Item = await Kernel.Instance.ItemController.GetStudio(name).ConfigureAwait(false),
- BaseItemCount = count
- };
+ return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetStudio(name).ConfigureAwait(false), count);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs b/MediaBrowser.Api/HttpHandlers/StudiosHandler.cs index 7e85e5558..64348ac89 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<Studio>>>
+ public class StudiosHandler : BaseJsonHandler<IEnumerable<IBNItem>>
{
- protected override Task<IEnumerable<IBNItem<Studio>>> GetObjectToSerialize()
+ protected override Task<IEnumerable<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<Studio>>> GetAllStudios(Folder parent, User user)
+ private async Task<IEnumerable<IBNItem>> GetAllStudios(Folder parent, User user)
{
Dictionary<string, int> data = new Dictionary<string, int>();
@@ -55,7 +55,7 @@ namespace MediaBrowser.Api.HttpHandlers IEnumerable<Studio> entities = await Task.WhenAll<Studio>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetStudio(key); })).ConfigureAwait(false);
- return entities.Select(e => new IBNItem<Studio>() { Item = e, BaseItemCount = data[e.Name] });
+ return entities.Select(e => ApiService.GetIBNItem(e, data[e.Name]));
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/YearHandler.cs b/MediaBrowser.Api/HttpHandlers/YearHandler.cs index 5e31c9689..0eb674e27 100644 --- a/MediaBrowser.Api/HttpHandlers/YearHandler.cs +++ b/MediaBrowser.Api/HttpHandlers/YearHandler.cs @@ -12,9 +12,9 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a single year
/// </summary>
- public class YearHandler : BaseJsonHandler<IBNItem<Year>>
+ public class YearHandler : BaseJsonHandler<IBNItem>
{
- protected override Task<IBNItem<Year>> GetObjectToSerialize()
+ protected override Task<IBNItem> GetObjectToSerialize()
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
@@ -28,7 +28,7 @@ namespace MediaBrowser.Api.HttpHandlers /// <summary>
/// Gets a Year
/// </summary>
- private async Task<IBNItem<Year>> GetYear(Folder parent, User user, int year)
+ private async Task<IBNItem> GetYear(Folder parent, User user, int year)
{
int count = 0;
@@ -44,11 +44,7 @@ namespace MediaBrowser.Api.HttpHandlers }
// Get the original entity so that we can also supply the PrimaryImagePath
- return new IBNItem<Year>()
- {
- Item = await Kernel.Instance.ItemController.GetYear(year).ConfigureAwait(false),
- BaseItemCount = count
- };
+ return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetYear(year).ConfigureAwait(false), count);
}
}
}
diff --git a/MediaBrowser.Api/HttpHandlers/YearsHandler.cs b/MediaBrowser.Api/HttpHandlers/YearsHandler.cs index dcbbf6150..ee07ac8b0 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<Year>>>
+ public class YearsHandler : BaseJsonHandler<IEnumerable<IBNItem>>
{
- protected override Task<IEnumerable<IBNItem<Year>>> GetObjectToSerialize()
+ protected override Task<IEnumerable<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<Year>>> GetAllYears(Folder parent, User user)
+ private async Task<IEnumerable<IBNItem>> GetAllYears(Folder parent, User user)
{
Dictionary<int, int> data = new Dictionary<int, int>();
@@ -52,7 +52,7 @@ namespace MediaBrowser.Api.HttpHandlers IEnumerable<Year> entities = await Task.WhenAll<Year>(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetYear(key); })).ConfigureAwait(false);
- return entities.Select(e => new IBNItem<Year>() { Item = e, BaseItemCount = data[int.Parse(e.Name)] });
+ return entities.Select(e => ApiService.GetIBNItem(e, data[int.Parse(e.Name)]));
}
}
}
diff --git a/MediaBrowser.ApiInteraction/ApiClient.cs b/MediaBrowser.ApiInteraction/ApiClient.cs index 4b9a71292..2e7684cb0 100644 --- a/MediaBrowser.ApiInteraction/ApiClient.cs +++ b/MediaBrowser.ApiInteraction/ApiClient.cs @@ -197,26 +197,26 @@ namespace MediaBrowser.ApiInteraction /// <summary>
/// Gets all Genres
/// </summary>
- public async Task<IEnumerable<IBNItem<Genre>>> GetAllGenresAsync(Guid userId)
+ public async Task<IEnumerable<IBNItem>> GetAllGenresAsync(Guid userId)
{
string url = ApiUrl + "/genres?userId=" + userId.ToString();
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IEnumerable<IBNItem<Genre>>>(stream);
+ return DataSerializer.DeserializeFromStream<IEnumerable<IBNItem>>(stream);
}
}
/// <summary>
/// Gets all Years
/// </summary>
- public async Task<IEnumerable<IBNItem<Year>>> GetAllYearsAsync(Guid userId)
+ public async Task<IEnumerable<IBNItem>> GetAllYearsAsync(Guid userId)
{
string url = ApiUrl + "/years?userId=" + userId.ToString();
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IEnumerable<IBNItem<Year>>>(stream);
+ return DataSerializer.DeserializeFromStream<IEnumerable<IBNItem>>(stream);
}
}
@@ -277,13 +277,13 @@ namespace MediaBrowser.ApiInteraction /// <summary>
/// Gets all studious
/// </summary>
- public async Task<IEnumerable<IBNItem<Studio>>> GetAllStudiosAsync(Guid userId)
+ public async Task<IEnumerable<IBNItem>> GetAllStudiosAsync(Guid userId)
{
string url = ApiUrl + "/studios?userId=" + userId.ToString();
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IEnumerable<IBNItem<Studio>>>(stream);
+ return DataSerializer.DeserializeFromStream<IEnumerable<IBNItem>>(stream);
}
}
@@ -303,52 +303,52 @@ namespace MediaBrowser.ApiInteraction /// <summary>
/// Gets a studio
/// </summary>
- public async Task<IBNItem<Studio>> GetStudioAsync(Guid userId, string name)
+ public async Task<IBNItem> GetStudioAsync(Guid userId, string name)
{
string url = ApiUrl + "/studio?userId=" + userId.ToString() + "&name=" + name;
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IBNItem<Studio>>(stream);
+ return DataSerializer.DeserializeFromStream<IBNItem>(stream);
}
}
/// <summary>
/// Gets a genre
/// </summary>
- public async Task<IBNItem<Genre>> GetGenreAsync(Guid userId, string name)
+ public async Task<IBNItem> GetGenreAsync(Guid userId, string name)
{
string url = ApiUrl + "/genre?userId=" + userId.ToString() + "&name=" + name;
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IBNItem<Genre>>(stream);
+ return DataSerializer.DeserializeFromStream<IBNItem>(stream);
}
}
/// <summary>
/// Gets a person
/// </summary>
- public async Task<IBNItem<Person>> GetPersonAsync(Guid userId, string name)
+ public async Task<IBNItem> GetPersonAsync(Guid userId, string name)
{
string url = ApiUrl + "/person?userId=" + userId.ToString() + "&name=" + name;
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IBNItem<Person>>(stream);
+ return DataSerializer.DeserializeFromStream<IBNItem>(stream);
}
}
/// <summary>
/// Gets a year
/// </summary>
- public async Task<IBNItem<Year>> GetYearAsync(Guid userId, int year)
+ public async Task<IBNItem> GetYearAsync(Guid userId, int year)
{
string url = ApiUrl + "/year?userId=" + userId.ToString() + "&year=" + year;
using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
{
- return DataSerializer.DeserializeFromStream<IBNItem<Year>>(stream);
+ return DataSerializer.DeserializeFromStream<IBNItem>(stream);
}
}
diff --git a/MediaBrowser.Model/DTO/IBNItem.cs b/MediaBrowser.Model/DTO/IBNItem.cs index 4b29cb2b1..9748c5e7f 100644 --- a/MediaBrowser.Model/DTO/IBNItem.cs +++ b/MediaBrowser.Model/DTO/IBNItem.cs @@ -1,16 +1,24 @@ using MediaBrowser.Model.Entities;
+using System;
namespace MediaBrowser.Model.DTO
{
/// <summary>
/// This is a stub class used by the api to get IBN types along with their item counts
/// </summary>
- public class IBNItem<T>
+ public class IBNItem
{
/// <summary>
- /// The actual genre, year, studio, etc
+ /// The name of the person, genre, etc
/// </summary>
- public T Item { get; set; }
+ public string Name { get; set; }
+
+ /// <summary>
+ /// The id of the person, genre, etc
+ /// </summary>
+ public Guid Id { get; set; }
+
+ public bool HasPrimaryImage { get; set; }
/// <summary>
/// The number of items that have the genre, year, studio, etc
|
