public PartialViewResult Index()
 {
     var model = new PartialViewMacroModel(
         _currentPage.ConvertFromNode(),
         _macro.Id,
         _macro.Alias,
         _macro.Name,
         _macro.Properties.ToDictionary(x => x.Key, x => (object)x.Value));
     return PartialView(_macro.ScriptName, model);
 }
 /// <summary>
 /// Attempt to get a Macro parameter from a PartialViewMacroModel
 /// </summary>
 /// <param name="partialViewMacroModel"></param>
 /// <param name="parameterAlias"></param>
 /// <returns>Parameter value if available, the default value for the type otherwise.</returns>
 public static T GetParameterValue <T>(this PartialViewMacroModel partialViewMacroModel, string parameterAlias)
 {
     return(partialViewMacroModel.GetParameterValue(parameterAlias, default(T)));
 }