public void DetectChanges_AsIs() { var oldObj = new Child(); var newObj = new Child() { Prop1 = "11", Prop2 = "22", Prop3 = "33", Prop4 = "44" }; var changes = ChangesDetector.Gather(newObj, oldObj); changes.Values.Count.Should().Be(4); }
public void DetectChanges_ByChild() { var oldObj = new Child(); var newObj = new Child() { Prop1 = "11", Prop2 = "22", Prop3 = "33", Prop4 = "44" }; var changes = ChangesDetector.Gather(newObj, oldObj, typeof(Child), false); changes.Values.Count.Should().Be(2); changes.Values.Contains("Changes: Prop3: 3 -> 33").Should().BeTrue(); changes.Values.Contains("Changes: Prop4: 4 -> 44").Should().BeTrue(); }
public void DetectChanges_ByParent() { var oldObj = new Child(); var newObj = new Child() { Prop1 = "11", Prop2 = "22", Prop3 = "33", Prop4 = "44" }; var changes = ChangesDetector.Gather(newObj, oldObj, typeof(Parent)); changes.Values.Count.Should().Be(2); changes.Values.Contains("Changes: Prop1: 1 -> 11").Should().BeTrue(); changes.Values.Contains("Changes: Prop2: 2 -> 22").Should().BeTrue(); }
public virtual ListDictionary <string, string> DetectUserChanges(ApplicationUser oldUser) { var newUser = this; // Gather all the changes from ApplicationUser and its possible descendants var result = ChangesDetector.Gather(newUser, oldUser); //Next: gather the changes manually from specific properties of ApplicationUser's ancestor if (newUser.UserName != oldUser.UserName) { result.Add(PlatformConstants.Security.Changes.UserUpdated, $"Changes: user name: {oldUser.UserName} -> {newUser.UserName}"); } if (newUser.Email != oldUser.Email) { result.Add(PlatformConstants.Security.Changes.UserUpdated, $"Changes: email: {oldUser.Email} -> {newUser.Email}"); } if (newUser.PasswordHash != oldUser.PasswordHash) { result.Add(PlatformConstants.Security.Changes.UserPasswordChanged, $"Password changed"); } return(result); }