Edit DBQueryStep to enable multiple rows return

By default, the DBQueryStep only looks for first row, in which case it will cause problem in multiple rows result.

I slightly changed the code in BizUnit to make this viable. As a result, stuff all columns to be returned in the <rows> secion, i.e.

     <Rows>
        <Columns>
          <TotalRecordCount>1</TotalRecordCount>
          <Direction>IN</Direction>
          <TotalRecordCount>1</TotalRecordCount>
          <Direction>OUT</Direction>
        </Columns>
      </Rows>

Updated code in DBQueryStep.cs,

                foreach (DBRowToValidate row in this.DBRowsToValidate.RowsToValidate)
                {
                    DataRow bamDBRow;
                    int columnsCount = 0;

                    // Get the element which has the unique flag on…
                    //DBCellToValidate uniqueCell = row.UniqueCell;
                    //if (null != uniqueCell)
                    //{
                    //    DataRow[] bamDBRowArray =
                    //        ds.Tables[0].Select(
                    //            string.Format(“{0} = ‘{1}'”, uniqueCell.ColumnName, uniqueCell.ExpectedValue));
                    //    bamDBRow = bamDBRowArray[0];
                    //}
                    //else
                    //{
                    //    bamDBRow = ds.Tables[0].Rows[0];
                    //    columnsCount = ds.Tables[0].Columns.Count;
                    //}

                    bamDBRow = ds.Tables[0].Rows[0];
                    columnsCount = ds.Tables[0].Columns.Count;

                    IList<DBCellToValidate> cells = row.Cells;
                    int counter=0;
                    int rowCounter = 0;
                    foreach (DBCellToValidate cell in cells)
                    {
                        if ((counter>0)&&(counter%columnsCount==0))
                        {
                            rowCounter++;
                        }

                        counter++;

                        bamDBRow = ds.Tables[0].Rows[rowCounter];

                        object dbData = bamDBRow[cell.ColumnName];
                       
                        string dbDataStringValue = “”;
                        if (0 == ValidateData(dbData, cell.ExpectedValue, ref dbDataStringValue))
                        {
                            context.LogInfo(“Validation succeeded for field: {0} equals: {1}”, cell.ColumnName,
                                            dbDataStringValue);
                        }
                        else
                        {
                            throw new Exception(
                                String.Format(
                                    “Validation failed for field: {0}. Expected value: {1}, actual value: {2}”,
                                    cell.ColumnName, cell.ExpectedValue, dbDataStringValue));
                        }
                    }