public void Update(DestinyMilestone?other) { if (other is null) { return; } if (MilestoneHash != other.MilestoneHash) { MilestoneHash = other.MilestoneHash; OnPropertyChanged(nameof(MilestoneHash)); } if (!AvailableQuests.DeepEqualsList(other.AvailableQuests)) { AvailableQuests = other.AvailableQuests; OnPropertyChanged(nameof(AvailableQuests)); } if (!Activities.DeepEqualsList(other.Activities)) { Activities = other.Activities; OnPropertyChanged(nameof(Activities)); } if (!Values.DeepEqualsDictionaryNaive(other.Values)) { Values = other.Values; OnPropertyChanged(nameof(Values)); } if (!VendorHashes.DeepEqualsListNaive(other.VendorHashes)) { VendorHashes = other.VendorHashes; OnPropertyChanged(nameof(VendorHashes)); } if (!Vendors.DeepEqualsList(other.Vendors)) { Vendors = other.Vendors; OnPropertyChanged(nameof(Vendors)); } if (!Rewards.DeepEqualsList(other.Rewards)) { Rewards = other.Rewards; OnPropertyChanged(nameof(Rewards)); } if (StartDate != other.StartDate) { StartDate = other.StartDate; OnPropertyChanged(nameof(StartDate)); } if (EndDate != other.EndDate) { EndDate = other.EndDate; OnPropertyChanged(nameof(EndDate)); } if (Order != other.Order) { Order = other.Order; OnPropertyChanged(nameof(Order)); } }
public bool DeepEquals(DestinyPublicMilestone?other) { return(other is not null && MilestoneHash == other.MilestoneHash && AvailableQuests.DeepEqualsList(other.AvailableQuests) && Activities.DeepEqualsList(other.Activities) && VendorHashes.DeepEqualsListNaive(other.VendorHashes) && Vendors.DeepEqualsList(other.Vendors) && StartDate == other.StartDate && EndDate == other.EndDate && Order == other.Order); }