Overloads for DynamicMedia and DynamicNode constructors that take object and string respectively

New DynamicNode .MediaById (because @Model is DynamicNode) to find a media item by id, e.g. if you are using it with @Model.Parameters.imageId
Overloads for MediaById and NodeById that take object and string to match constructors
This commit is contained in:
agrath@gmail.com
2011-02-02 15:51:51 -13:00
parent 5a5ccfea98
commit eba7c9d550
2 changed files with 54 additions and 0 deletions

View File

@@ -22,6 +22,24 @@ namespace umbraco.MacroEngines
_media = media;
_propertyCache = new Dictionary<string, string>();
}
public DynamicMedia(string mediaId)
{
int iMediaId = 0;
if (int.TryParse(mediaId, out iMediaId))
{
_media = new Media(iMediaId);
_propertyCache = new Dictionary<string, string>();
}
}
public DynamicMedia(object mediaId)
{
int iMediaId = 0;
if (int.TryParse(string.Format("{0}", mediaId), out iMediaId))
{
_media = new Media(iMediaId);
_propertyCache = new Dictionary<string, string>();
}
}
public DynamicMedia()
{

View File

@@ -29,6 +29,22 @@ namespace umbraco.MacroEngines
{
this.n = new NodeFactory.Node(NodeId);
}
public DynamicNode(string NodeId)
{
int iNodeId = 0;
if (int.TryParse(NodeId, out iNodeId))
{
this.n = new NodeFactory.Node(iNodeId);
}
}
public DynamicNode(object NodeId)
{
int iNodeId = 0;
if (int.TryParse(string.Format("{0}", NodeId), out iNodeId))
{
this.n = new NodeFactory.Node(iNodeId);
}
}
public DynamicNode()
{
//Empty constructor for a special case with Generic Methods
@@ -315,6 +331,26 @@ namespace umbraco.MacroEngines
{
return new DynamicNode(Id);
}
public DynamicNode NodeById(string Id)
{
return new DynamicNode(Id);
}
public DynamicNode NodeById(object Id)
{
return new DynamicNode(Id);
}
public DynamicMedia MediaById(int Id)
{
return new DynamicMedia(Id);
}
public DynamicMedia MediaById(string Id)
{
return new DynamicMedia(Id);
}
public DynamicMedia MediaById(object Id)
{
return new DynamicMedia(Id);
}
public int Id
{
get { if (n == null) return 0; return n.Id; }