public System.Data.IDataParameter[] GetParamters(object data, IDriver driver) { IDataParameter[] parameters = new IDataParameter[mParameters.Count]; for (int i = 0; i < mParameters.Count; i++) { ProcParameterAttribute procp = mParameters[i]; parameters[i] = driver.CreateProcParameter(procp.Name, procp.Handler.Get(data), procp.Direction); } return(parameters); }
public void UpdateParameters(object data, IDbCommand cmd) { for (int i = 0; i < mParameters.Count; i++) { ProcParameterAttribute procp = mParameters[i]; if (procp.Direction == ParameterDirection.Output || procp.Direction == ParameterDirection.ReturnValue) { if (((IDataParameter)cmd.Parameters[i]).Value != null && ((IDataParameter)cmd.Parameters[i]).Value != DBNull.Value) { procp.Handler.Set(data, Convert.ChangeType(((IDataParameter)cmd.Parameters[i]).Value, procp.Handler.Property.PropertyType)); } } } }