This works perfectly thank you.
Why would you not use CurrentRow all the time, regardless if it is zero or not? Does the ABusinessRule object require to know exactly which row you want to validate all the time anyway?
For example, if you sent just the ds into the SaveDataSet, how does the businessrule object know how to cycle through each row. Especially if the DataRow is pulled in the BusinessRule like this:
if (ds != null)
{
DataRow dr = ds.Tables[tableName].Rows[0];
// Your code from MM
public virtual mmSaveDataResult SaveDataSet(DataSet ds)
{
return this.SaveDataSet(ds, this.TableName);
}
Would the following make more sense in ALL cases, whether you are saving datasets or just individual records?:
if (ds != null)
{
DataRow dr = ds.Tables[tableName].Rows[this.CurrentRow];