public static bool ValidateRenderArgValue(RenderArgDomainSchema renderArg, RenderArgDomainValue argValues, ref string msg) { //Return if template doesn't need argument value for rendering. if (renderArg == null || renderArg.Parameters == null || renderArg.Parameters.Count == 0) { return(true); } if (argValues == null || argValues.Parameters == null || argValues.Parameters.Count == 0) { msg += "RenderArgument is null or empty."; return(false); } if (renderArg.Parameters.Count > argValues.Parameters.Count) { msg += string.Format("Argument missing. This template needs value for {0} parameters.", renderArg.Parameters.Count); return(false); } Dictionary <long, string> errors = new Dictionary <long, string>(); bool isValid = ValidateRenderArgType(renderArg, ref msg); if (!isValid) { return(false); } for (int i = 0; i < renderArg.Parameters.Count; i++) { RenderParameterSchema paramInfo = renderArg.Parameters[i]; //Get corresponding param value base on Name RenderParameterBase paramValueInfo = (from c in argValues.Parameters where string.Compare(c.Name, paramInfo.Name, true) == 0 select c).FirstOrDefault(); //If needed parameter isn't found. if (paramValueInfo == null || paramValueInfo.Value == null || paramValueInfo.Value.Count() == 0) { isValid = false; msg += string.Format("Parameter value is not found: {0}.", paramInfo.Name); continue; } object paramValue = paramInfo.DataType.IsArray ? paramValueInfo.Value : paramValueInfo.Value[0]; //Validate value and length SQLTypeName dataType = SQLConvertTypeHelper.GetSqlTypeFromString(paramInfo.DataType.Name); DataTypeLength length = CoreRenderHelper.GetDataTypeLengthFromSXLength(paramInfo.DataType.Length); if (!SQLDBTypeValidator.ValidateValue(dataType, length, paramValue, paramInfo.DataType.IsArray)) { isValid = false; msg += string.Format("Type of parameter value is invalid: {0}.", paramInfo.Name); } } return(isValid); }
public static bool ValidateRenderArgType(RenderArgDomainSchema renderArgument, ref string msg) { if (renderArgument == null || renderArgument.Parameters == null || renderArgument.Parameters.Count == 0) { return(true); } bool isValid = true; foreach (var arg in renderArgument.Parameters) { //Validate Type SQLTypeName dataType = SQLConvertTypeHelper.GetSqlTypeFromString(arg.DataType.Name); isValid &= IsSupportedDataType(dataType, ref msg); } return(isValid); }
public static bool ValidateRenderArgumentXYValueBeforeRender(RenderArgDomainSchema renderArg, RenderArgDomainValue domainValue, ref string msg) { bool isValid = true; if (renderArg.RenderArgumentX) { if (domainValue.RenderArgumentX == null) { msg += string.Format("Parameter value is not found: RenderArgumentX."); isValid = false; } } if (renderArg.RenderArgumentY) { if (domainValue.RenderArgumentY == null) { msg += string.Format("Parameter value is not found: {0}.", "RenderArgumentY"); isValid = false; } } return(isValid); }