Deduping the GroupInfos

--HG--
branch : dev
This commit is contained in:
Nathan Heskew
2011-02-23 09:48:26 -08:00
parent ffc276a1fe
commit d2e0b764d7
2 changed files with 10 additions and 8 deletions

View File

@@ -358,16 +358,18 @@ namespace Orchard.ContentManagement {
return context.Metadata;
}
public IList<GroupInfo> GetEditorGroupInfos(IContent content) {
public IEnumerable<GroupInfo> GetEditorGroupInfos(IContent content) {
var metadata = GetItemMetadata(content);
// todo: (heskew) dedup and order
return metadata.EditorGroupInfo;
return metadata.EditorGroupInfo
.GroupBy(groupInfo => groupInfo.Id)
.Select(grouping => grouping.OrderBy(groupInfo => groupInfo.Position, new FlatPositionComparer()).FirstOrDefault());
}
public IList<GroupInfo> GetDisplayGroupInfos(IContent content) {
public IEnumerable<GroupInfo> GetDisplayGroupInfos(IContent content) {
var metadata = GetItemMetadata(content);
// todo: (heskew) dedup and order
return metadata.DisplayGroupInfo;
return metadata.DisplayGroupInfo
.GroupBy(groupInfo => groupInfo.Id)
.Select(grouping => grouping.OrderBy(groupInfo => groupInfo.Position, new FlatPositionComparer()).FirstOrDefault());
}
public GroupInfo GetEditorGroupInfo(IContent content, string groupInfoId) {

View File

@@ -25,8 +25,8 @@ namespace Orchard.ContentManagement {
IContentQuery<ContentItem> Query();
ContentItemMetadata GetItemMetadata(IContent contentItem);
IList<GroupInfo> GetEditorGroupInfos(IContent contentItem);
IList<GroupInfo> GetDisplayGroupInfos(IContent contentItem);
IEnumerable<GroupInfo> GetEditorGroupInfos(IContent contentItem);
IEnumerable<GroupInfo> GetDisplayGroupInfos(IContent contentItem);
GroupInfo GetEditorGroupInfo(IContent contentItem, string groupInfoId);
GroupInfo GetDisplayGroupInfo(IContent contentItem, string groupInfoId);