protected virtual void OnPropertyChangedStringCompair <T>(string name, ref Nullable <T> oldValue, Nullable <T> newValue) where T : struct
        {
            if (oldValue.HasValue != newValue.HasValue || oldValue.ParseToString() != newValue.ParseToString())
            {
                if (oldValue != null)
                {
                    this.AddChangs(name, oldValue, newValue);
                }

                oldValue = newValue;

                this.HasModelChanged = true;

                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
            }
        }