Пример #1
0
        public bool CheckTheChanges(User storedUser, BaseModifiedUserModelDto modifiedUserModel)
        {
            var modifiedUserChangeableProperties = modifiedUserModel.GetType().GetProperties().Where(
                prop => Attribute.IsDefined(prop, typeof(Changeable)));
            var storedUserProperties = storedUser.GetType().GetProperties();
            var changed = true;

            foreach (var storedUserProperty in storedUserProperties)
            {
                foreach (var modifiedUserChangeableProperty in modifiedUserChangeableProperties)
                {
                    var userPropertyName     = storedUserProperty.Name;
                    var modifiedPropertyName = modifiedUserChangeableProperty.Name;
                    if (String.Equals(userPropertyName
                                      , modifiedPropertyName
                                      , StringComparison.OrdinalIgnoreCase))
                    {
                        if (!storedUserProperty.GetValue(storedUser).Equals(modifiedUserChangeableProperty.GetValue(modifiedUserModel)))
                        {
                            changed = false;
                        }
                    }
                }
            }
            return(changed);
        }
Пример #2
0
        public User SetChangesToStoredUser(User storedUser, BaseModifiedUserModelDto modifiedModel)
        {
            var modifiedUserChangeableProperties = modifiedModel.GetType().GetProperties().Where(
                prop => Attribute.IsDefined(prop, typeof(Changeable)));
            var storedUserProperties = storedUser.GetType().GetProperties();

            foreach (var userProperty in storedUserProperties)
            {
                foreach (var modifiedUserChangeableProperty in modifiedUserChangeableProperties)
                {
                    var userPropertyName     = userProperty.Name;
                    var modifiedPropertyName = modifiedUserChangeableProperty.Name;
                    if (String.Equals(userPropertyName
                                      , modifiedPropertyName
                                      , StringComparison.OrdinalIgnoreCase))
                    {
                        userProperty.SetValue(storedUser, modifiedUserChangeableProperty.GetValue(modifiedModel));
                    }
                }
            }
            return(storedUser);
        }