Exemplo n.º 1
0
        /// <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();
                }
            }
        }
Exemplo n.º 2
0
        /// <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);
        }