private int UpdateInsertedRows(labtechDataSet dataSet, List <DataRow> allAddedRows) { return(0); }
private int UpdateUpdatedRows(labtechDataSet dataSet, List <DataRow> allChangedRows, List <DataRow> allAddedRows) { return(0); }
public virtual int UpdateAll(labtechDataSet dataSet) { DataRow[] dataRowArray; int i; DataRow dataRow; int num; if (dataSet == null) { throw new ArgumentNullException("dataSet"); } if (dataSet.HasChanges()) { IDbConnection connection = this.Connection; if (connection == null) { throw new ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterManager TableAdapter property to a valid TableAdapter instance."); } bool flag = false; if ((connection.State & ConnectionState.Broken) == ConnectionState.Broken) { connection.Close(); } if (connection.State == ConnectionState.Closed) { connection.Open(); flag = true; } IDbTransaction dbTransaction = connection.BeginTransaction(); if (dbTransaction == null) { throw new ApplicationException("The transaction cannot begin. The current data connection does not support transactions or the current state is not allowing the transaction to begin."); } List <DataRow> dataRows = new List <DataRow>(); List <DataRow> dataRows1 = new List <DataRow>(); List <DataAdapter> dataAdapters = new List <DataAdapter>(); Dictionary <object, IDbConnection> objs = new Dictionary <object, IDbConnection>(); int num1 = 0; DataSet dataSet1 = null; if (this.BackupDataSetBeforeUpdate) { dataSet1 = new DataSet(); dataSet1.Merge(dataSet); } try { try { if (this.UpdateOrder != TableAdapterManager.UpdateOrderOption.UpdateInsertDelete) { num1 += this.UpdateInsertedRows(dataSet, dataRows1); num1 += this.UpdateUpdatedRows(dataSet, dataRows, dataRows1); } else { num1 += this.UpdateUpdatedRows(dataSet, dataRows, dataRows1); num1 += this.UpdateInsertedRows(dataSet, dataRows1); } num1 += this.UpdateDeletedRows(dataSet, dataRows); dbTransaction.Commit(); if (0 < dataRows1.Count) { dataRowArray = new DataRow[dataRows1.Count]; dataRows1.CopyTo(dataRowArray); for (i = 0; i < (int)dataRowArray.Length; i++) { dataRow = dataRowArray[i]; dataRow.AcceptChanges(); } } if (0 < dataRows.Count) { dataRowArray = new DataRow[dataRows.Count]; dataRows.CopyTo(dataRowArray); for (i = 0; i < (int)dataRowArray.Length; i++) { dataRow = dataRowArray[i]; dataRow.AcceptChanges(); } } } catch (Exception exception1) { Exception exception = exception1; dbTransaction.Rollback(); if (this.BackupDataSetBeforeUpdate) { Debug.Assert(dataSet1 != null); dataSet.Clear(); dataSet.Merge(dataSet1); } else if (0 < dataRows1.Count) { dataRowArray = new DataRow[dataRows1.Count]; dataRows1.CopyTo(dataRowArray); for (i = 0; i < (int)dataRowArray.Length; i++) { dataRow = dataRowArray[i]; dataRow.AcceptChanges(); dataRow.SetAdded(); } } throw exception; } } finally { if (flag) { connection.Close(); } if (0 < dataAdapters.Count) { DataAdapter[] dataAdapterArray = new DataAdapter[dataAdapters.Count]; dataAdapters.CopyTo(dataAdapterArray); for (i = 0; i < (int)dataAdapterArray.Length; i++) { dataAdapterArray[i].AcceptChangesDuringUpdate = true; } } } num = num1; } else { num = 0; } return(num); }