PHPAnalysis.SQLSanitizer.SQLSanitizer C# (CSharp) Метод

SQLSanitizer() публичный Метод

public SQLSanitizer ( JToken JSON ) : System
JSON JToken
Результат System
        public SQLSanitizer(JToken JSON)
            : base(JSON)
        {
            Parameters = new Dictionary<Tuple<uint,string>, Parameter>();

            SQLITaint tmp;
            bool success = Enum.TryParse((string)JSON.SelectToken(Keys.PHPDefinitionJSONKeys.GeneralKeys.DefaultStatusCode), out tmp);
            DefaultStatus = success ? tmp : SQLITaint.SQL_ALL;

            var paramsArray = (JArray) JSON.SelectToken(Keys.PHPDefinitionJSONKeys.GeneralKeys.Parameters);
            foreach (JObject param in paramsArray)
            {
                var paramValues = (JArray)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterValues);
                var type = (string)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterType);
                var paramNumber = (uint)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterNumber);
                var isOptional = (bool?)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterIsOptional);
                var variadic = (bool?)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterIsVariadic);
                var isReturn = (bool?)param.SelectToken(Keys.PHPDefinitionJSONKeys.ParameterJSONKeys.ParameterIsReturnValue);

                if (paramValues == null)
                {
                    var objectParam = new Parameter(isOptional ?? false, false, variadic ?? false, false, "", isReturn ?? false);
                    Parameters.Add(new Tuple<uint, string>(paramNumber, type), objectParam);
                    continue;
                }

                switch (type)
                {
                    case "flag":
                        var flag = FlagParameterFactory.CreateFlagParameter<SQLITaint>(paramValues, DefaultStatus,
                            isOptional: isOptional, isVaridic: variadic, isReturn: isReturn);
                        Parameters.Add(new Tuple<uint,string>(paramNumber, type), flag);
                        break;
                    case "bool":
                    case "boolean":
                        var boolparam = BooleanParameterFactory.CreateBooleanParameter<SQLITaint>(paramValues, DefaultStatus,
                            isOptional: isOptional, isVariadic: variadic, isReturn: isReturn);
                        Parameters.Add(new Tuple<uint,string>(paramNumber, type), boolparam);
                        break;
                    case "int":
                    case "integer":
                        var intParam = IntegerParameterFactory.CreateIntParameter<SQLITaint>(paramValues, DefaultStatus,
                            isOptional: isOptional, isVariadic: variadic, isReturn: isReturn);
                        Parameters.Add(new Tuple<uint, string>(paramNumber, type), intParam);
                        break;
                    case "str":
                    case "string":
                        var strParam = StringParameterFactory.CreateStringParameter<SQLITaint>(paramValues, DefaultStatus,
                            isOptional: isOptional, isVariadic: variadic, isReturn: isReturn);
                        Parameters.Add(new Tuple<uint, string>(paramNumber, type), strParam);
                        break;
                    case "array":
                        break;
                    case "object":
                        break;
                    default:
                        string s = String.Format("Unknown parameter type. Parameter number: {0} had the type {1}", paramNumber, type).ToString();
                        throw new NotSupportedException(s);
                }
            }
        }

Same methods

SQLSanitizer::SQLSanitizer ( string json ) : System