2011-05-21 14:34:46 -12:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Text;
|
2011-05-21 14:47:57 -12:00
|
|
|
|
using umbraco.interfaces;
|
2011-06-12 11:50:35 -02:00
|
|
|
|
using System.Xml.Linq;
|
2011-05-21 14:34:46 -12:00
|
|
|
|
|
|
|
|
|
|
namespace umbraco.MacroEngines.Library
|
|
|
|
|
|
{
|
2011-05-21 14:47:57 -12:00
|
|
|
|
public class RazorLibraryCore
|
2011-05-21 14:34:46 -12:00
|
|
|
|
{
|
2011-05-21 14:47:57 -12:00
|
|
|
|
private INode _node;
|
|
|
|
|
|
public INode Node
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return _node; }
|
|
|
|
|
|
}
|
|
|
|
|
|
public RazorLibraryCore(INode node)
|
|
|
|
|
|
{
|
|
|
|
|
|
this._node = node;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2011-06-12 08:23:10 -02:00
|
|
|
|
public DynamicNode NodeById(int Id)
|
2011-05-21 14:47:57 -12:00
|
|
|
|
{
|
2011-06-12 08:23:10 -02:00
|
|
|
|
return new DynamicNode(Id);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNode NodeById(string Id)
|
|
|
|
|
|
{
|
|
|
|
|
|
return new DynamicNode(Id);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNode NodeById(object Id)
|
|
|
|
|
|
{
|
|
|
|
|
|
return new DynamicNode(Id);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNodeList NodeById(List<object> Ids)
|
|
|
|
|
|
{
|
|
|
|
|
|
List<DynamicNode> nodes = new List<DynamicNode>();
|
|
|
|
|
|
foreach (object eachId in Ids)
|
|
|
|
|
|
nodes.Add(new DynamicNode(eachId));
|
|
|
|
|
|
return new DynamicNodeList(nodes);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNodeList NodeById(List<int> Ids)
|
|
|
|
|
|
{
|
|
|
|
|
|
List<DynamicNode> nodes = new List<DynamicNode>();
|
|
|
|
|
|
foreach (int eachId in Ids)
|
|
|
|
|
|
nodes.Add(new DynamicNode(eachId));
|
|
|
|
|
|
return new DynamicNodeList(nodes);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNodeList NodeById(params object[] Ids)
|
|
|
|
|
|
{
|
|
|
|
|
|
return NodeById(Ids.ToList());
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNode MediaById(int Id)
|
|
|
|
|
|
{
|
|
|
|
|
|
return new DynamicNode(new DynamicBackingItem(ExamineBackedMedia.GetUmbracoMedia(Id)));
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNode MediaById(string Id)
|
|
|
|
|
|
{
|
|
|
|
|
|
int mediaId = 0;
|
|
|
|
|
|
if (int.TryParse(Id, out mediaId))
|
|
|
|
|
|
{
|
|
|
|
|
|
return MediaById(mediaId);
|
|
|
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNode MediaById(object Id)
|
|
|
|
|
|
{
|
|
|
|
|
|
int mediaId = 0;
|
|
|
|
|
|
if (int.TryParse(string.Format("{0}", Id), out mediaId))
|
|
|
|
|
|
{
|
|
|
|
|
|
return MediaById(mediaId);
|
|
|
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNodeList MediaById(List<object> Ids)
|
|
|
|
|
|
{
|
|
|
|
|
|
List<DynamicNode> nodes = new List<DynamicNode>();
|
|
|
|
|
|
foreach (object eachId in Ids)
|
|
|
|
|
|
nodes.Add(MediaById(eachId));
|
|
|
|
|
|
return new DynamicNodeList(nodes);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNodeList MediaById(List<int> Ids)
|
|
|
|
|
|
{
|
|
|
|
|
|
List<DynamicNode> nodes = new List<DynamicNode>();
|
|
|
|
|
|
foreach (int eachId in Ids)
|
|
|
|
|
|
nodes.Add(MediaById(eachId));
|
|
|
|
|
|
return new DynamicNodeList(nodes);
|
|
|
|
|
|
}
|
|
|
|
|
|
public DynamicNodeList MediaById(params object[] Ids)
|
|
|
|
|
|
{
|
|
|
|
|
|
return MediaById(Ids.ToList());
|
2011-05-21 14:47:57 -12:00
|
|
|
|
}
|
|
|
|
|
|
|
2011-06-12 11:50:35 -02:00
|
|
|
|
public T As<T>() where T : class
|
|
|
|
|
|
{
|
|
|
|
|
|
return (this as T);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public DynamicXml ToDynamicXml(string xml)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(xml)) return null;
|
|
|
|
|
|
var xElement = XElement.Parse(xml);
|
|
|
|
|
|
return new umbraco.MacroEngines.DynamicXml(xElement);
|
|
|
|
|
|
}
|
2011-05-21 14:34:46 -12:00
|
|
|
|
}
|
|
|
|
|
|
}
|