/// <summary> /// Applies data changes to the data source. /// </summary> private void ApplyChanges() { this.okButton.Focus(); this.applyButton.Enabled = false; AddUpdateDeleteSorter <AttributeTypeDTO> sorter = new AddUpdateDeleteSorter <AttributeTypeDTO>(this.mAttributeDataTypes); foreach (AttributeTypeDTO addedRec in sorter.AddedRecords) { DataStore.Instance.AddAttributeDataType(addedRec); } foreach (AttributeTypeDTO deletedRec in sorter.DeletedRecords) { DataStore.Instance.DeleteAttributeDataType(deletedRec.AttributeTypeId); } foreach (AttributeTypeDTO modifiedRec in sorter.ModifiedRecords) { DataStore.Instance.ModifyAttributeDataType(modifiedRec); } // Remove deleted items from the list and clear flags. for (int index = (this.mAttributeDataTypes.Count - 1); index >= 0; --index) { if (this.mAttributeDataTypes[index].Deleted) { this.mAttributeDataTypes.RemoveAt(index); } else { this.mAttributeDataTypes[index].ClearTrackingFlags(); } } }
/// <summary> /// Writes data toa a schema version 1 type database. /// </summary> /// <param name="dbConnection"> /// Open database connection. /// </param> private void StoreDatabaseSchemaV1(SQLiteConnection dbConnection) { SQLiteDataAccess_v1 dataAccess = new SQLiteDataAccess_v1(dbConnection); AddUpdateDeleteSorter <AttributeTypeDTO> sorter = new AddUpdateDeleteSorter <AttributeTypeDTO>(this.mAttributeDataTypes); dataAccess.AddUpdateDelete_AttributeTypes(sorter.AddedRecords, sorter.ModifiedRecords, sorter.DeletedRecords); PostSaveUpdateAndRemove(this.mAttributeDataTypes); }