private static void CheckRename(DataBase old, DataBase @new, DatabaseMetaChange metaChange) { if (!old.Name.Equals(@new.Name)) { metaChange.Set(DatabaseChanges.Rename); } }
private static void CheckAddition(DataBase old, DataBase @new, DatabaseMetaChange metaChange) { if (old == null) { metaChange.Set(DatabaseChanges.Addition); } }
private static void CheckDeletion(DataBase old, DataBase @new, DatabaseMetaChange metaChange) { if (@new == null) { metaChange.Set(DatabaseChanges.Deletion); } }
/// <summary> /// Check for metadata changes /// </summary> /// <param name="old">Old version</param> /// <param name="new">New version</param> /// <returns>DatabaseMetaChange object</returns> private static DatabaseMetaChange DetectChanges(DataBase old, DataBase @new) { var metaChange = new DatabaseMetaChange(old, @new); CheckAddition(old, @new, metaChange); CheckDeletion(old, @new, metaChange); // Check if added or removed. If that is the case, a rename wouldn't make any sense. if (!metaChange.IsSet(DatabaseChanges.Addition | DatabaseChanges.Deletion)) { CheckRename(old, @new, metaChange); } return(metaChange); }