internal void LoadDataRow()
{
try
{
_dataReader.GetValues(_readerDataValues);
object[] mapped = GetMappedValues();
DataRow dataRow;
switch (_loadOption)
{
case LoadOption.OverwriteChanges:
case LoadOption.PreserveChanges:
case LoadOption.Upsert:
dataRow = _dataTable.LoadDataRow(mapped, _loadOption);
break;
case (LoadOption)4: // true
dataRow = _dataTable.LoadDataRow(mapped, true);
break;
case (LoadOption)5: // false
dataRow = _dataTable.LoadDataRow(mapped, false);
break;
default:
Debug.Assert(false, "unexpected LoadOption");
throw ADP.InvalidLoadOption(_loadOption);
}
if ((null != _chapterMap) && (null != _dataSet))
{
LoadDataRowChapters(dataRow);
}
}
finally
{
if (null != _chapterMap)
{
FreeDataRowChapters();
}
}
}