public bool DeepEquals(UserToUserContext?other)
 {
     return(other is not null &&
            IsFollowing == other.IsFollowing &&
            (IgnoreStatus is not null ? IgnoreStatus.DeepEquals(other.IgnoreStatus) : other.IgnoreStatus is null) &&
            GlobalIgnoreEndDate == other.GlobalIgnoreEndDate);
 }
 public bool DeepEquals(PostResponse?other)
 {
     return(other is not null &&
            LastReplyTimestamp == other.LastReplyTimestamp &&
            IsPinned == other.IsPinned &&
            UrlMediaType == other.UrlMediaType &&
            Thumbnail == other.Thumbnail &&
            Popularity == other.Popularity &&
            IsActive == other.IsActive &&
            IsAnnouncement == other.IsAnnouncement &&
            UserRating == other.UserRating &&
            UserHasRated == other.UserHasRated &&
            UserHasMutedPost == other.UserHasMutedPost &&
            LatestReplyPostId == other.LatestReplyPostId &&
            LatestReplyAuthorId == other.LatestReplyAuthorId &&
            (IgnoreStatus is not null ? IgnoreStatus.DeepEquals(other.IgnoreStatus) : other.IgnoreStatus is null) &&
            Locale == other.Locale);
 }
 public void Update(UserToUserContext?other)
 {
     if (other is null)
     {
         return;
     }
     if (IsFollowing != other.IsFollowing)
     {
         IsFollowing = other.IsFollowing;
         OnPropertyChanged(nameof(IsFollowing));
     }
     if (!IgnoreStatus.DeepEquals(other.IgnoreStatus))
     {
         IgnoreStatus.Update(other.IgnoreStatus);
         OnPropertyChanged(nameof(IgnoreStatus));
     }
     if (GlobalIgnoreEndDate != other.GlobalIgnoreEndDate)
     {
         GlobalIgnoreEndDate = other.GlobalIgnoreEndDate;
         OnPropertyChanged(nameof(GlobalIgnoreEndDate));
     }
 }
 public void Update(PostResponse?other)
 {
     if (other is null)
     {
         return;
     }
     if (LastReplyTimestamp != other.LastReplyTimestamp)
     {
         LastReplyTimestamp = other.LastReplyTimestamp;
         OnPropertyChanged(nameof(LastReplyTimestamp));
     }
     if (IsPinned != other.IsPinned)
     {
         IsPinned = other.IsPinned;
         OnPropertyChanged(nameof(IsPinned));
     }
     if (UrlMediaType != other.UrlMediaType)
     {
         UrlMediaType = other.UrlMediaType;
         OnPropertyChanged(nameof(UrlMediaType));
     }
     if (Thumbnail != other.Thumbnail)
     {
         Thumbnail = other.Thumbnail;
         OnPropertyChanged(nameof(Thumbnail));
     }
     if (Popularity != other.Popularity)
     {
         Popularity = other.Popularity;
         OnPropertyChanged(nameof(Popularity));
     }
     if (IsActive != other.IsActive)
     {
         IsActive = other.IsActive;
         OnPropertyChanged(nameof(IsActive));
     }
     if (IsAnnouncement != other.IsAnnouncement)
     {
         IsAnnouncement = other.IsAnnouncement;
         OnPropertyChanged(nameof(IsAnnouncement));
     }
     if (UserRating != other.UserRating)
     {
         UserRating = other.UserRating;
         OnPropertyChanged(nameof(UserRating));
     }
     if (UserHasRated != other.UserHasRated)
     {
         UserHasRated = other.UserHasRated;
         OnPropertyChanged(nameof(UserHasRated));
     }
     if (UserHasMutedPost != other.UserHasMutedPost)
     {
         UserHasMutedPost = other.UserHasMutedPost;
         OnPropertyChanged(nameof(UserHasMutedPost));
     }
     if (LatestReplyPostId != other.LatestReplyPostId)
     {
         LatestReplyPostId = other.LatestReplyPostId;
         OnPropertyChanged(nameof(LatestReplyPostId));
     }
     if (LatestReplyAuthorId != other.LatestReplyAuthorId)
     {
         LatestReplyAuthorId = other.LatestReplyAuthorId;
         OnPropertyChanged(nameof(LatestReplyAuthorId));
     }
     if (!IgnoreStatus.DeepEquals(other.IgnoreStatus))
     {
         IgnoreStatus.Update(other.IgnoreStatus);
         OnPropertyChanged(nameof(IgnoreStatus));
     }
     if (Locale != other.Locale)
     {
         Locale = other.Locale;
         OnPropertyChanged(nameof(Locale));
     }
 }