public void Update(GroupResponse?other) { if (other is null) { return; } if (!Detail.DeepEquals(other.Detail)) { Detail.Update(other.Detail); OnPropertyChanged(nameof(Detail)); } if (!Founder.DeepEquals(other.Founder)) { Founder.Update(other.Founder); OnPropertyChanged(nameof(Founder)); } if (!AlliedIds.DeepEqualsListNaive(other.AlliedIds)) { AlliedIds = other.AlliedIds; OnPropertyChanged(nameof(AlliedIds)); } if (!ParentGroup.DeepEquals(other.ParentGroup)) { ParentGroup.Update(other.ParentGroup); OnPropertyChanged(nameof(ParentGroup)); } if (AllianceStatus != other.AllianceStatus) { AllianceStatus = other.AllianceStatus; OnPropertyChanged(nameof(AllianceStatus)); } if (GroupJoinInviteCount != other.GroupJoinInviteCount) { GroupJoinInviteCount = other.GroupJoinInviteCount; OnPropertyChanged(nameof(GroupJoinInviteCount)); } if (CurrentUserMembershipsInactiveForDestiny != other.CurrentUserMembershipsInactiveForDestiny) { CurrentUserMembershipsInactiveForDestiny = other.CurrentUserMembershipsInactiveForDestiny; OnPropertyChanged(nameof(CurrentUserMembershipsInactiveForDestiny)); } if (!CurrentUserMemberMap.DeepEqualsDictionary(other.CurrentUserMemberMap)) { CurrentUserMemberMap = other.CurrentUserMemberMap; OnPropertyChanged(nameof(CurrentUserMemberMap)); } if (!CurrentUserPotentialMemberMap.DeepEqualsDictionary(other.CurrentUserPotentialMemberMap)) { CurrentUserPotentialMemberMap = other.CurrentUserPotentialMemberMap; OnPropertyChanged(nameof(CurrentUserPotentialMemberMap)); } }
public bool DeepEquals(GroupResponse?other) { return(other is not null && (Detail is not null ? Detail.DeepEquals(other.Detail) : other.Detail is null) && (Founder is not null ? Founder.DeepEquals(other.Founder) : other.Founder is null) && AlliedIds.DeepEqualsListNaive(other.AlliedIds) && (ParentGroup is not null ? ParentGroup.DeepEquals(other.ParentGroup) : other.ParentGroup is null) && AllianceStatus == other.AllianceStatus && GroupJoinInviteCount == other.GroupJoinInviteCount && CurrentUserMembershipsInactiveForDestiny == other.CurrentUserMembershipsInactiveForDestiny && CurrentUserMemberMap.DeepEqualsDictionary(other.CurrentUserMemberMap) && CurrentUserPotentialMemberMap.DeepEqualsDictionary(other.CurrentUserPotentialMemberMap)); }