Ejemplo n.º 1
0
        internal List <KeyValuePair <string, object> > GetParameters(int num)
        {
            var parameters = new List <KeyValuePair <string, object> >();

            if (RightValue != null)
            {
                ParameterName = $"Param{num}";
                parameters.Add(new KeyValuePair <string, object>(ParameterName, RightValue));
            }
            foreach (var p in AdditionalParameterValues)
            {
                var paramName = $"Param{num + parameters.Count}";
                var kvp       = new KeyValuePair <string, object>(paramName, p);
                parameters.Add(kvp);
                AdditionalParameters.Add(kvp);
            }

            if (ConditionGroup != null)
            {
                parameters.AddRange(ConditionGroup.GetParameters(num + parameters.Count));
            }
            if (Sibling != null)
            {
                parameters.AddRange(Sibling.GetParameters(num + parameters.Count));
            }
            return(parameters);
        }
        public DataLoader(Generator generator, MethodInfo method, Type keyType, Type returnType)
            : base(generator)
        {
            ReturnType = returnType.GetCSharpTypeName();
            Name       = method.Name;
            ClassName  = method.DeclaringType.GetCSharpTypeName();
            KeyType    = keyType.GetCSharpTypeName();

            var parameters = method.GetParameters();

            for (int i = 0; i < parameters.Length; i++)
            {
                var parameter = parameters[i];
                if (i == 0)
                {
                    PrimaryKeyName = parameter.Name;
                }
                else
                {
                    AdditionalParameters.Add($"{parameter.ParameterType.GetCSharpTypeName()} {parameter.Name}");
                    AdditionalParameterNames.Add(parameters[i].Name);
                }
            }
        }