Exemple #1
0
        protected ParameterCollection Parameters(IDictionary <object, object> dict, ParameterType type, CreateParameterOptions opts)
        {
            var list = new List <ParameterItem>();

            foreach (var kvp in dict)
            {
                var name  = kvp.Key.ToString();
                var value = kvp.Value;
                if (!opts.SkipNull || value != null)
                {
                    list.Add(CreateParameter(name, value, type, opts));
                }
            }

            var result = new ParameterCollection {
                list
            };

            return(result);
        }
Exemple #2
0
        protected ParameterItem CreateParameter(string name, object value, ParameterType type, CreateParameterOptions opts)
        {
            if (opts == null)
            {
                throw new ArgumentNullException("opts");
            }

            object val;

            if (value is DateTime)
            {
                var d = Convert.ToDateTime(value);
                if (d.TimeOfDay.TotalSeconds == 0)
                {
                    val = d.ToString(opts.DateFormat);
                }
                else
                {
                    val = d.ToString(opts.DateTimeFormat);
                }
            }
            else if (value is Enum)
            {
                if (opts.UseLowerCaseForEnumValues)
                {
                    val = value.ToString().ToLower();
                }
                else
                {
                    val = value.ToString();
                }
            }
            else
            {
                val = value;
            }

            var result = new ParameterItem(name, val, type);

            return(result);
        }
Exemple #3
0
        protected ParameterCollection Parameters(object parameters, ParameterType type, CreateParameterOptions opts)
        {
            var dict = new Dictionary <object, object>();

            var props = parameters.GetType().GetProperties();

            foreach (var p in props)
            {
                var name  = p.Name;
                var value = p.GetValue(parameters);
                dict.Add(name, value);
            }

            return(Parameters(dict, type, opts));
        }