Skip to content

Commit 4b2cb9c

Browse files
committed
Fixed bug related to Edits not being Shown
1 parent 6ca16aa commit 4b2cb9c

File tree

4 files changed

+11
-17
lines changed

4 files changed

+11
-17
lines changed

src/Comparer/KeyEqualityComparer.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ namespace DbSyncKit.Core.Comparer
99
/// <typeparam name="T">Type of the data contract implementing <see cref="IDataContractComparer"/>.</typeparam>
1010
public class KeyEqualityComparer<T> : IEqualityComparer<T> where T : IDataContractComparer
1111
{
12-
/// <summary>
13-
/// Gets the array of <see cref="PropertyInfo"/> objects representing properties used for data comparison.
14-
/// </summary>
15-
public readonly PropertyInfo[] compariableProperties;
16-
1712
/// <summary>
1813
/// Gets the array of <see cref="PropertyInfo"/> objects representing key properties used for unique identification of objects.
1914
/// </summary>
@@ -22,23 +17,22 @@ public class KeyEqualityComparer<T> : IEqualityComparer<T> where T : IDataContra
2217
/// <summary>
2318
/// Initializes a new instance of the <see cref="KeyEqualityComparer{T}"/> class.
2419
/// </summary>
25-
/// <param name="CompariableProperties">An array of <see cref="PropertyInfo"/> objects representing properties used for data comparison.</param>
2620
/// <param name="KeyProperties">An array of <see cref="PropertyInfo"/> objects representing key properties used for unique identification of objects.</param>
2721
public KeyEqualityComparer(PropertyInfo[] CompariableProperties, PropertyInfo[] KeyProperties)
2822
{
29-
compariableProperties = CompariableProperties;
23+
//compariableProperties = CompariableProperties;
3024
keyProperties = KeyProperties;
3125
}
3226

3327
/// <summary>
34-
/// Determines whether two instances of the data contract are equal based on Compariable properties.
28+
/// Determines whether two instances of the data contract are equal based on key properties.
3529
/// </summary>
3630
/// <param name="x">The first instance to compare.</param>
3731
/// <param name="y">The second instance to compare.</param>
3832
/// <returns><c>true</c> if the instances are equal; otherwise, <c>false</c>.</returns>
3933
public bool Equals(T? x, T? y)
4034
{
41-
return compariableProperties.All(prop => Equals(prop.GetValue(x), prop.GetValue(y)));
35+
return keyProperties.All(prop => Equals(prop.GetValue(x), prop.GetValue(y)));
4236
}
4337

4438
/// <summary>

src/DbSyncKit.Core.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<Nullable>enable</Nullable>
77
<GenerateDocumentationFile>True</GenerateDocumentationFile>
88
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
9-
<AssemblyVersion>1.0.0.0</AssemblyVersion>
10-
<FileVersion>1.0.0.0</FileVersion>
11-
<Version>1.0.0.0</Version>
9+
<AssemblyVersion>1.0.1.0</AssemblyVersion>
10+
<FileVersion>1.0.1.0</FileVersion>
11+
<Version>1.0.1.0</Version>
1212
<PackageProjectUrl>https://dbsynckit.rohit-mahajan.in/</PackageProjectUrl>
1313
<PackageReadmeFile>README.md</PackageReadmeFile>
1414
<RepositoryUrl>https://github.com/RohitM-IN/DbSyncKit</RepositoryUrl>

src/Helper/DataMetadataComparisonHelper.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class DataMetadataComparisonHelper<T> where T : IDataContractComparer
2323
/// <param name="destinationList">The destination set of data contracts.</param>
2424
/// <param name="keyComparer">An instance of <see cref="KeyEqualityComparer{T}"/> used for key comparison.</param>
2525
/// <returns>A <see cref="Result{T}"/> object containing added, deleted, and edited data contracts, as well as data counts.</returns>
26-
public static Result<T> GetDifferences(HashSet<T> sourceList, HashSet<T> destinationList, KeyEqualityComparer<T> keyComparer)
26+
public static Result<T> GetDifferences(HashSet<T> sourceList, HashSet<T> destinationList, KeyEqualityComparer<T> keyComparer, PropertyInfo[] CompariableProperties)
2727
{
2828

2929
List<T> added = new List<T>();
@@ -52,7 +52,7 @@ public static Result<T> GetDifferences(HashSet<T> sourceList, HashSet<T> destina
5252
T? destinationContract;
5353
if (destinationKeyDictionary.TryGetValue(GenerateCompositeKey(sourceContract, keyComparer.keyProperties), out destinationContract))
5454
{
55-
var (isEdited, updatedProperties) = GetEdited(sourceContract, destinationContract, keyComparer.compariableProperties);
55+
var (isEdited, updatedProperties) = GetEdited(sourceContract, destinationContract, CompariableProperties);
5656

5757
if (isEdited)
5858
{

src/Synchronization.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public Result<T> SyncData<T>(IDatabase source, IDatabase destination, Direction
7676

7777
RetrieveDataFromDatabases(source, destination, tableName, ColumnList, keyEqualityComparer, out sourceList, out destinationList);
7878

79-
return GetDifferences(sourceList, destinationList, keyEqualityComparer);
79+
return GetDifferences(sourceList, destinationList, keyEqualityComparer, ComparableProperties);
8080
}
8181

8282
/// <summary>
@@ -142,9 +142,9 @@ public HashSet<T> GetDataFromDatabase<T>(string tableName, IDatabase connection,
142142
/// <param name="destinationList">The HashSet containing data from the destination.</param>
143143
/// <param name="keyEqualityComparer">An instance of <see cref="KeyEqualityComparer{T}"/> used for key comparison.</param>
144144
/// <returns>A <see cref="Result{T}"/> containing the differences between the source and destination data.</returns>
145-
public Result<T> GetDifferences<T>(HashSet<T> sourceList, HashSet<T> destinationList, KeyEqualityComparer<T> keyEqualityComparer) where T : IDataContractComparer
145+
public Result<T> GetDifferences<T>(HashSet<T> sourceList, HashSet<T> destinationList, KeyEqualityComparer<T> keyEqualityComparer, PropertyInfo[] ComparableProperties) where T : IDataContractComparer
146146
{
147-
return DataMetadataComparisonHelper<T>.GetDifferences(sourceList, destinationList, keyEqualityComparer);
147+
return DataMetadataComparisonHelper<T>.GetDifferences(sourceList, destinationList, keyEqualityComparer, ComparableProperties);
148148
}
149149

150150

0 commit comments

Comments
 (0)