Files
Umbraco-CMS/umbraco.MacroEngines.Juno/RazorDynamicNode/DynamicMediaList.cs
agrath@gmail.com 93d65ced40 Add IsNull and HasValue methods to Dynamic* classes
**Breaking Change: DynamicNull.HasValue and DynamicNull.IsNull have been changed from properties to methods
Rename umbraco.MacroEngines.ExtensionMethods as umbraco.MacroEngines.PrivateExtensionMethods
Implement extension method invokes for DynamicNode
2011-03-22 18:02:32 -13:00

47 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Dynamic;
using System.Collections;
using umbraco.cms.businesslogic.media;
namespace umbraco.MacroEngines
{
public class DynamicMediaList : DynamicObject, IEnumerable
{
public IEnumerable<DynamicMedia> Items { get; set; }
public DynamicMediaList()
{
Items = new List<DynamicMedia>();
}
public DynamicMediaList(IEnumerable<DynamicMedia> items)
{
List<DynamicMedia> list = items.ToList();
list.ForEach(node => node.ownerList = this);
Items = list;
}
public DynamicMediaList(IEnumerable<Media> items)
{
List<DynamicMedia> list = items.Select(x => new DynamicMedia(x)).ToList();
list.ForEach(node => node.ownerList = this);
Items = list;
}
public IEnumerator GetEnumerator()
{
return Items.GetEnumerator();
}
public bool IsNull()
{
return false;
}
public bool HasValue()
{
return true;
}
}
}