Fixed IsHelpers on IGrouping (DynamicNode.GroupBy)
This commit is contained in:
@@ -30,6 +30,12 @@ namespace umbraco.MacroEngines
|
||||
list.ForEach(node => node.ownerList = this);
|
||||
Items = list;
|
||||
}
|
||||
public DynamicNodeList(IOrderedEnumerable<DynamicNode> items)
|
||||
{
|
||||
List<DynamicNode> list = items.ToList();
|
||||
list.ForEach(node => node.ownerList = this);
|
||||
Items = list;
|
||||
}
|
||||
public DynamicNodeList(IEnumerable<DynamicBackingItem> items)
|
||||
{
|
||||
List<DynamicNode> list = items.ToList().ConvertAll(n => new DynamicNode(n));
|
||||
|
||||
@@ -14,14 +14,15 @@ namespace umbraco.MacroEngines
|
||||
|
||||
public IEnumerator<T> GetEnumerator()
|
||||
{
|
||||
return Elements.GetEnumerator();
|
||||
DynamicNodeList temp = new DynamicNodeList(Elements.Cast<DynamicNode>());
|
||||
return (IEnumerator<T>)temp.GetEnumerator();
|
||||
}
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return (IEnumerator)GetEnumerator();
|
||||
}
|
||||
|
||||
public IOrderedEnumerable<T> OrderBy(string ordering)
|
||||
public DynamicNodeList OrderBy(string ordering)
|
||||
{
|
||||
bool descending = false;
|
||||
if (ordering.IndexOf(" descending", StringComparison.CurrentCultureIgnoreCase) >= 0)
|
||||
@@ -37,21 +38,21 @@ namespace umbraco.MacroEngines
|
||||
|
||||
if (!descending)
|
||||
{
|
||||
return Elements.OrderBy(item =>
|
||||
return new DynamicNodeList(Elements.OrderBy(item =>
|
||||
{
|
||||
object key = null;
|
||||
(item as DynamicObject).TryGetMember(new DynamicQueryableGetMemberBinder(ordering, false), out key);
|
||||
return key;
|
||||
});
|
||||
}).Cast<DynamicNode>());
|
||||
}
|
||||
else
|
||||
{
|
||||
return Elements.OrderByDescending(item =>
|
||||
return new DynamicNodeList(Elements.OrderByDescending(item =>
|
||||
{
|
||||
object key = null;
|
||||
(item as DynamicObject).TryGetMember(new DynamicQueryableGetMemberBinder(ordering, false), out key);
|
||||
return key;
|
||||
});
|
||||
}).Cast<DynamicNode>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user