コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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);
        }