using Umbraco.Cms.Core.Models;
namespace Umbraco.Extensions
{
///
/// Extension methods for the PartialViewMacroModel object
///
public static class PartialViewMacroModelExtensions
{
///
/// Attempt to get a Macro parameter from a PartialViewMacroModel and return a default value otherwise
///
///
///
///
/// Parameter value if available, the default value that was passed otherwise.
public static T GetParameterValue(this PartialViewMacroModel partialViewMacroModel, string parameterAlias, T defaultValue)
{
if (partialViewMacroModel.MacroParameters.ContainsKey(parameterAlias) == false || string.IsNullOrEmpty(partialViewMacroModel.MacroParameters[parameterAlias].ToString()))
return defaultValue;
var attempt = partialViewMacroModel.MacroParameters[parameterAlias].TryConvertTo(typeof(T));
return attempt.Success ? (T) attempt.Result : defaultValue;
}
///
/// Attempt to get a Macro parameter from a PartialViewMacroModel
///
///
///
/// Parameter value if available, the default value for the type otherwise.
public static T GetParameterValue(this PartialViewMacroModel partialViewMacroModel, string parameterAlias)
{
return partialViewMacroModel.GetParameterValue(parameterAlias, default(T));
}
}
}