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); }
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); }
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)); }