public static object GetContextParamValue(this PageContext context, string paramName) { var vParam = context.GetContextParam(paramName); if (vParam == null) { return(null); } return(vParam.Value); }
public static T GetContextParamValue <T>(this PageContext context, string paramName) { var vParam = context.GetContextParam(paramName); if (vParam == null) { return(default(T)); } var dataType = vParam.DataType.ToLower(); if (typeof(T) == typeof(string)) { return((T)Convert.ChangeType(Convert.ToString(vParam.Value ?? vParam.DefaultValue), typeof(T))); } if (typeof(T) == typeof(int) || typeof(T) == typeof(Int32)) { return((T)Convert.ChangeType(Convert.ToInt32(vParam.Value ?? vParam.DefaultValue), typeof(T))); } if (typeof(T) == typeof(bool)) { var result = false; bool.TryParse(Convert.ToString(vParam.Value ?? vParam.DefaultValue), out result); return((T)Convert.ChangeType(result, typeof(T))); } if (typeof(T) == typeof(double)) { var result = 0.00; double.TryParse(Convert.ToString(vParam.Value ?? vParam.DefaultValue), out result); return((T)Convert.ChangeType(Convert.ToDecimal(vParam.Value ?? vParam.DefaultValue), typeof(T))); } if (typeof(T).IsEnum) { var enumValue = Convert.ToString(vParam.Value ?? vParam.DefaultValue); try { return((T)Convert.ChangeType(Enum.Parse(typeof(T), enumValue, true), typeof(T))); } catch { return(default(T)); } } return((T)Convert.ChangeType(vParam.Value ?? vParam.DefaultValue, typeof(T))); }