Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }