Moved some logic into domain entities, which is possible now that we're embracing DTO's

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti
2012-08-17 13:37:26 -04:00
parent 5c6ec34a9c
commit ed018a8bea
9 changed files with 177 additions and 170 deletions

View File

@@ -6,6 +6,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Users;
namespace MediaBrowser.Api
{
@@ -26,10 +27,12 @@ namespace MediaBrowser.Api
/// </summary>
public static BaseItemContainer<BaseItem> GetSerializationObject(BaseItem item, bool includeChildren, Guid userId)
{
User user = Kernel.Instance.Users.First(u => u.Id == userId);
BaseItemContainer<BaseItem> wrapper = new BaseItemContainer<BaseItem>()
{
Item = item,
UserItemData = Kernel.Instance.GetUserItemData(userId, item.Id),
UserItemData = user.GetItemData(item.Id),
Type = item.GetType().Name,
IsFolder = (item is Folder)
};
@@ -57,7 +60,7 @@ namespace MediaBrowser.Api
if (folder != null)
{
wrapper.Children = Kernel.Instance.GetParentalAllowedChildren(folder, userId).Select(c => GetSerializationObject(c, false, userId));
wrapper.Children = folder.GetParentalAllowedChildren(user).Select(c => GetSerializationObject(c, false, userId));
}
// Attach People by transforming them into BaseItemPerson (DTO)

View File

@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Users;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -13,8 +15,9 @@ namespace MediaBrowser.Api.HttpHandlers
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
User user = Kernel.Instance.Users.First(u => u.Id == userId);
return Kernel.Instance.GetAllGenres(parent, userId);
return Kernel.Instance.GetAllGenres(parent, user);
}
}
}

View File

@@ -5,6 +5,7 @@ using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Users;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -24,34 +25,36 @@ namespace MediaBrowser.Api.HttpHandlers
get
{
Folder parent = ApiService.GetItemById(ItemId) as Folder;
User user = Kernel.Instance.Users.First(u => u.Id == UserId);
if (ListType.Equals("inprogressitems", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetInProgressItems(parent, UserId);
return parent.GetInProgressItems(user);
}
else if (ListType.Equals("recentlyaddeditems", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetRecentlyAddedItems(parent, UserId);
return parent.GetRecentlyAddedItems(user);
}
else if (ListType.Equals("recentlyaddedunplayeditems", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetRecentlyAddedUnplayedItems(parent, UserId);
return parent.GetRecentlyAddedUnplayedItems(user);
}
else if (ListType.Equals("itemswithgenre", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetItemsWithGenre(parent, QueryString["name"], UserId);
return parent.GetItemsWithGenre(QueryString["name"], user);
}
else if (ListType.Equals("itemswithyear", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetItemsWithYear(parent, int.Parse(QueryString["year"]), UserId);
return parent.GetItemsWithYear(int.Parse(QueryString["year"]), user);
}
else if (ListType.Equals("itemswithstudio", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetItemsWithStudio(parent, QueryString["name"], UserId);
return parent.GetItemsWithStudio(QueryString["name"], user);
}
else if (ListType.Equals("itemswithperson", StringComparison.OrdinalIgnoreCase))
{
return Kernel.Instance.GetItemsWithPerson(parent, QueryString["name"], UserId);
return parent.GetItemsWithPerson(QueryString["name"], null, user);
}
throw new InvalidOperationException();

View File

@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Users;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -13,8 +15,9 @@ namespace MediaBrowser.Api.HttpHandlers
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
return Kernel.Instance.GetAllStudios(parent, userId);
User user = Kernel.Instance.Users.First(u => u.Id == userId);
return Kernel.Instance.GetAllStudios(parent, user);
}
}
}

View File

@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Linq;
using MediaBrowser.Common.Net.Handlers;
using MediaBrowser.Controller;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Users;
namespace MediaBrowser.Api.HttpHandlers
{
@@ -13,8 +15,9 @@ namespace MediaBrowser.Api.HttpHandlers
{
Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
Guid userId = Guid.Parse(QueryString["userid"]);
User user = Kernel.Instance.Users.First(u => u.Id == userId);
return Kernel.Instance.GetAllYears(parent, userId);
return Kernel.Instance.GetAllYears(parent, user);
}
}
}