public bool DeepEquals(ContentTypeProperty?other)
 {
     return(other is not null &&
            Name == other.Name &&
            RootPropertyName == other.RootPropertyName &&
            ReadableName == other.ReadableName &&
            Value == other.Value &&
            PropertyDescription == other.PropertyDescription &&
            Localizable == other.Localizable &&
            Fallback == other.Fallback &&
            Enabled == other.Enabled &&
            Order == other.Order &&
            Visible == other.Visible &&
            IsTitle == other.IsTitle &&
            Required == other.Required &&
            MaxLength == other.MaxLength &&
            MaxByteLength == other.MaxByteLength &&
            MaxFileSize == other.MaxFileSize &&
            Regexp == other.Regexp &&
            ValidateAs == other.ValidateAs &&
            RssAttribute == other.RssAttribute &&
            VisibleDependency == other.VisibleDependency &&
            VisibleOn == other.VisibleOn &&
            Datatype == other.Datatype &&
            Attributes.DeepEqualsDictionaryNaive(other.Attributes) &&
            ChildProperties.DeepEqualsList(other.ChildProperties) &&
            ContentTypeAllowed == other.ContentTypeAllowed &&
            BindToProperty == other.BindToProperty &&
            BoundRegex == other.BoundRegex &&
            RepresentationSelection.DeepEqualsDictionaryNaive(other.RepresentationSelection) &&
            DefaultValues.DeepEqualsList(other.DefaultValues) &&
            IsExternalAllowed == other.IsExternalAllowed &&
            PropertySection == other.PropertySection &&
            Weight == other.Weight &&
            Entitytype == other.Entitytype &&
            IsCombo == other.IsCombo &&
            SuppressProperty == other.SuppressProperty &&
            LegalContentTypes.DeepEqualsListNaive(other.LegalContentTypes) &&
            RepresentationValidationString == other.RepresentationValidationString &&
            MinWidth == other.MinWidth &&
            MaxWidth == other.MaxWidth &&
            MinHeight == other.MinHeight &&
            MaxHeight == other.MaxHeight &&
            IsVideo == other.IsVideo &&
            IsImage == other.IsImage);
 }
 public void Update(ContentTypeProperty?other)
 {
     if (other is null)
     {
         return;
     }
     if (Name != other.Name)
     {
         Name = other.Name;
         OnPropertyChanged(nameof(Name));
     }
     if (RootPropertyName != other.RootPropertyName)
     {
         RootPropertyName = other.RootPropertyName;
         OnPropertyChanged(nameof(RootPropertyName));
     }
     if (ReadableName != other.ReadableName)
     {
         ReadableName = other.ReadableName;
         OnPropertyChanged(nameof(ReadableName));
     }
     if (Value != other.Value)
     {
         Value = other.Value;
         OnPropertyChanged(nameof(Value));
     }
     if (PropertyDescription != other.PropertyDescription)
     {
         PropertyDescription = other.PropertyDescription;
         OnPropertyChanged(nameof(PropertyDescription));
     }
     if (Localizable != other.Localizable)
     {
         Localizable = other.Localizable;
         OnPropertyChanged(nameof(Localizable));
     }
     if (Fallback != other.Fallback)
     {
         Fallback = other.Fallback;
         OnPropertyChanged(nameof(Fallback));
     }
     if (Enabled != other.Enabled)
     {
         Enabled = other.Enabled;
         OnPropertyChanged(nameof(Enabled));
     }
     if (Order != other.Order)
     {
         Order = other.Order;
         OnPropertyChanged(nameof(Order));
     }
     if (Visible != other.Visible)
     {
         Visible = other.Visible;
         OnPropertyChanged(nameof(Visible));
     }
     if (IsTitle != other.IsTitle)
     {
         IsTitle = other.IsTitle;
         OnPropertyChanged(nameof(IsTitle));
     }
     if (Required != other.Required)
     {
         Required = other.Required;
         OnPropertyChanged(nameof(Required));
     }
     if (MaxLength != other.MaxLength)
     {
         MaxLength = other.MaxLength;
         OnPropertyChanged(nameof(MaxLength));
     }
     if (MaxByteLength != other.MaxByteLength)
     {
         MaxByteLength = other.MaxByteLength;
         OnPropertyChanged(nameof(MaxByteLength));
     }
     if (MaxFileSize != other.MaxFileSize)
     {
         MaxFileSize = other.MaxFileSize;
         OnPropertyChanged(nameof(MaxFileSize));
     }
     if (Regexp != other.Regexp)
     {
         Regexp = other.Regexp;
         OnPropertyChanged(nameof(Regexp));
     }
     if (ValidateAs != other.ValidateAs)
     {
         ValidateAs = other.ValidateAs;
         OnPropertyChanged(nameof(ValidateAs));
     }
     if (RssAttribute != other.RssAttribute)
     {
         RssAttribute = other.RssAttribute;
         OnPropertyChanged(nameof(RssAttribute));
     }
     if (VisibleDependency != other.VisibleDependency)
     {
         VisibleDependency = other.VisibleDependency;
         OnPropertyChanged(nameof(VisibleDependency));
     }
     if (VisibleOn != other.VisibleOn)
     {
         VisibleOn = other.VisibleOn;
         OnPropertyChanged(nameof(VisibleOn));
     }
     if (Datatype != other.Datatype)
     {
         Datatype = other.Datatype;
         OnPropertyChanged(nameof(Datatype));
     }
     if (!Attributes.DeepEqualsDictionaryNaive(other.Attributes))
     {
         Attributes = other.Attributes;
         OnPropertyChanged(nameof(Attributes));
     }
     if (!ChildProperties.DeepEqualsList(other.ChildProperties))
     {
         ChildProperties = other.ChildProperties;
         OnPropertyChanged(nameof(ChildProperties));
     }
     if (ContentTypeAllowed != other.ContentTypeAllowed)
     {
         ContentTypeAllowed = other.ContentTypeAllowed;
         OnPropertyChanged(nameof(ContentTypeAllowed));
     }
     if (BindToProperty != other.BindToProperty)
     {
         BindToProperty = other.BindToProperty;
         OnPropertyChanged(nameof(BindToProperty));
     }
     if (BoundRegex != other.BoundRegex)
     {
         BoundRegex = other.BoundRegex;
         OnPropertyChanged(nameof(BoundRegex));
     }
     if (!RepresentationSelection.DeepEqualsDictionaryNaive(other.RepresentationSelection))
     {
         RepresentationSelection = other.RepresentationSelection;
         OnPropertyChanged(nameof(RepresentationSelection));
     }
     if (!DefaultValues.DeepEqualsList(other.DefaultValues))
     {
         DefaultValues = other.DefaultValues;
         OnPropertyChanged(nameof(DefaultValues));
     }
     if (IsExternalAllowed != other.IsExternalAllowed)
     {
         IsExternalAllowed = other.IsExternalAllowed;
         OnPropertyChanged(nameof(IsExternalAllowed));
     }
     if (PropertySection != other.PropertySection)
     {
         PropertySection = other.PropertySection;
         OnPropertyChanged(nameof(PropertySection));
     }
     if (Weight != other.Weight)
     {
         Weight = other.Weight;
         OnPropertyChanged(nameof(Weight));
     }
     if (Entitytype != other.Entitytype)
     {
         Entitytype = other.Entitytype;
         OnPropertyChanged(nameof(Entitytype));
     }
     if (IsCombo != other.IsCombo)
     {
         IsCombo = other.IsCombo;
         OnPropertyChanged(nameof(IsCombo));
     }
     if (SuppressProperty != other.SuppressProperty)
     {
         SuppressProperty = other.SuppressProperty;
         OnPropertyChanged(nameof(SuppressProperty));
     }
     if (!LegalContentTypes.DeepEqualsListNaive(other.LegalContentTypes))
     {
         LegalContentTypes = other.LegalContentTypes;
         OnPropertyChanged(nameof(LegalContentTypes));
     }
     if (RepresentationValidationString != other.RepresentationValidationString)
     {
         RepresentationValidationString = other.RepresentationValidationString;
         OnPropertyChanged(nameof(RepresentationValidationString));
     }
     if (MinWidth != other.MinWidth)
     {
         MinWidth = other.MinWidth;
         OnPropertyChanged(nameof(MinWidth));
     }
     if (MaxWidth != other.MaxWidth)
     {
         MaxWidth = other.MaxWidth;
         OnPropertyChanged(nameof(MaxWidth));
     }
     if (MinHeight != other.MinHeight)
     {
         MinHeight = other.MinHeight;
         OnPropertyChanged(nameof(MinHeight));
     }
     if (MaxHeight != other.MaxHeight)
     {
         MaxHeight = other.MaxHeight;
         OnPropertyChanged(nameof(MaxHeight));
     }
     if (IsVideo != other.IsVideo)
     {
         IsVideo = other.IsVideo;
         OnPropertyChanged(nameof(IsVideo));
     }
     if (IsImage != other.IsImage)
     {
         IsImage = other.IsImage;
         OnPropertyChanged(nameof(IsImage));
     }
 }
        public bool Equals(ContentTypeProperty input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     Name == input.Name ||
                     (Name != null && Name.Equals(input.Name))
                     ) &&
                 (
                     RootPropertyName == input.RootPropertyName ||
                     (RootPropertyName != null && RootPropertyName.Equals(input.RootPropertyName))
                 ) &&
                 (
                     ReadableName == input.ReadableName ||
                     (ReadableName != null && ReadableName.Equals(input.ReadableName))
                 ) &&
                 (
                     Value == input.Value ||
                     (Value != null && Value.Equals(input.Value))
                 ) &&
                 (
                     PropertyDescription == input.PropertyDescription ||
                     (PropertyDescription != null && PropertyDescription.Equals(input.PropertyDescription))
                 ) &&
                 (
                     Localizable == input.Localizable ||
                     (Localizable != null && Localizable.Equals(input.Localizable))
                 ) &&
                 (
                     Fallback == input.Fallback ||
                     (Fallback != null && Fallback.Equals(input.Fallback))
                 ) &&
                 (
                     Enabled == input.Enabled ||
                     (Enabled != null && Enabled.Equals(input.Enabled))
                 ) &&
                 (
                     Order == input.Order ||
                     (Order.Equals(input.Order))
                 ) &&
                 (
                     Visible == input.Visible ||
                     (Visible != null && Visible.Equals(input.Visible))
                 ) &&
                 (
                     IsTitle == input.IsTitle ||
                     (IsTitle != null && IsTitle.Equals(input.IsTitle))
                 ) &&
                 (
                     Required == input.Required ||
                     (Required != null && Required.Equals(input.Required))
                 ) &&
                 (
                     MaxLength == input.MaxLength ||
                     (MaxLength.Equals(input.MaxLength))
                 ) &&
                 (
                     MaxByteLength == input.MaxByteLength ||
                     (MaxByteLength.Equals(input.MaxByteLength))
                 ) &&
                 (
                     MaxFileSize == input.MaxFileSize ||
                     (MaxFileSize.Equals(input.MaxFileSize))
                 ) &&
                 (
                     Regexp == input.Regexp ||
                     (Regexp != null && Regexp.Equals(input.Regexp))
                 ) &&
                 (
                     ValidateAs == input.ValidateAs ||
                     (ValidateAs != null && ValidateAs.Equals(input.ValidateAs))
                 ) &&
                 (
                     RssAttribute == input.RssAttribute ||
                     (RssAttribute != null && RssAttribute.Equals(input.RssAttribute))
                 ) &&
                 (
                     VisibleDependency == input.VisibleDependency ||
                     (VisibleDependency != null && VisibleDependency.Equals(input.VisibleDependency))
                 ) &&
                 (
                     VisibleOn == input.VisibleOn ||
                     (VisibleOn != null && VisibleOn.Equals(input.VisibleOn))
                 ) &&
                 (
                     Datatype == input.Datatype ||
                     (Datatype != null && Datatype.Equals(input.Datatype))
                 ) &&
                 (
                     Attributes == input.Attributes ||
                     (Attributes != null && Attributes.SequenceEqual(input.Attributes))
                 ) &&
                 (
                     ChildProperties == input.ChildProperties ||
                     (ChildProperties != null && ChildProperties.SequenceEqual(input.ChildProperties))
                 ) &&
                 (
                     ContentTypeAllowed == input.ContentTypeAllowed ||
                     (ContentTypeAllowed != null && ContentTypeAllowed.Equals(input.ContentTypeAllowed))
                 ) &&
                 (
                     BindToProperty == input.BindToProperty ||
                     (BindToProperty != null && BindToProperty.Equals(input.BindToProperty))
                 ) &&
                 (
                     BoundRegex == input.BoundRegex ||
                     (BoundRegex != null && BoundRegex.Equals(input.BoundRegex))
                 ) &&
                 (
                     RepresentationSelection == input.RepresentationSelection ||
                     (RepresentationSelection != null && RepresentationSelection.SequenceEqual(input.RepresentationSelection))
                 ) &&
                 (
                     DefaultValues == input.DefaultValues ||
                     (DefaultValues != null && DefaultValues.SequenceEqual(input.DefaultValues))
                 ) &&
                 (
                     IsExternalAllowed == input.IsExternalAllowed ||
                     (IsExternalAllowed != null && IsExternalAllowed.Equals(input.IsExternalAllowed))
                 ) &&
                 (
                     PropertySection == input.PropertySection ||
                     (PropertySection != null && PropertySection.Equals(input.PropertySection))
                 ) &&
                 (
                     Weight == input.Weight ||
                     (Weight.Equals(input.Weight))
                 ) &&
                 (
                     Entitytype == input.Entitytype ||
                     (Entitytype != null && Entitytype.Equals(input.Entitytype))
                 ) &&
                 (
                     IsCombo == input.IsCombo ||
                     (IsCombo != null && IsCombo.Equals(input.IsCombo))
                 ) &&
                 (
                     SuppressProperty == input.SuppressProperty ||
                     (SuppressProperty != null && SuppressProperty.Equals(input.SuppressProperty))
                 ) &&
                 (
                     LegalContentTypes == input.LegalContentTypes ||
                     (LegalContentTypes != null && LegalContentTypes.SequenceEqual(input.LegalContentTypes))
                 ) &&
                 (
                     RepresentationValidationString == input.RepresentationValidationString ||
                     (RepresentationValidationString != null && RepresentationValidationString.Equals(input.RepresentationValidationString))
                 ) &&
                 (
                     MinWidth == input.MinWidth ||
                     (MinWidth.Equals(input.MinWidth))
                 ) &&
                 (
                     MaxWidth == input.MaxWidth ||
                     (MaxWidth.Equals(input.MaxWidth))
                 ) &&
                 (
                     MinHeight == input.MinHeight ||
                     (MinHeight.Equals(input.MinHeight))
                 ) &&
                 (
                     MaxHeight == input.MaxHeight ||
                     (MaxHeight.Equals(input.MaxHeight))
                 ) &&
                 (
                     IsVideo == input.IsVideo ||
                     (IsVideo != null && IsVideo.Equals(input.IsVideo))
                 ) &&
                 (
                     IsImage == input.IsImage ||
                     (IsImage != null && IsImage.Equals(input.IsImage))
                 ));
        }