public void Assign(params System.Object[] values) { var parameterMarker = _parameterMarker; for (var i = 0; (i < values.Length); i++) { var v = values[i]; if (v is FieldValue) { var fv = ((FieldValue)(v)); Add(fv.Name, fv.Value); } else if (v is BusinessObjectParameters) { var paramList = ((BusinessObjectParameters)(v)); foreach (var name in paramList.Keys) { Add(name, paramList[name]); } } else { if (string.IsNullOrEmpty(parameterMarker)) { parameterMarker = SqlStatement.GetParameterMarker(string.Empty); } if ((v != null) && (v.GetType().Namespace == null)) { foreach (var pi in v.GetType().GetProperties()) { Add((parameterMarker + pi.Name), pi.GetValue(v)); } } else { Add((parameterMarker + ("p" + i.ToString())), v); } } } }
public BusinessObjectParameters(params Object[] values) { string parameterMarker = null; for (int i = 0; (i < values.Length); i++) { object v = values[i]; if (v is FieldValue) { FieldValue fv = ((FieldValue)(v)); Add(fv.Name, fv.Value); } else { if (String.IsNullOrEmpty(parameterMarker)) { parameterMarker = SqlStatement.GetParameterMarker(String.Empty); } Add((parameterMarker + ("p" + i.ToString())), v); } } }