public T GetGlobalParameterValue <T>(string parameterName, T defaultValue = default(T), string shopCode = "*") { T Result = defaultValue; //Search for shop param SY_GLOBAL_PARAMETER param = DBContext.SY_GLOBAL_PARAMETER.SingleOrDefault(E => E.PARAMETER_NAME == parameterName && E.DT_START <= DateTime.Today && E.DT_END >= DateTime.Today && E.SHOP_CODE == shopCode); if (param == null) //Search for global param { param = DBContext.SY_GLOBAL_PARAMETER.SingleOrDefault(E => E.PARAMETER_NAME == parameterName && E.DT_START <= DateTime.Today && E.DT_END >= DateTime.Today && E.SHOP_CODE == "*"); } if (param != null) { ValueString paramValue = ValueString.Of(param.PARAMETER_VALUE); Result = paramValue.As <T>(); } return(Result); }