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));
     }
 }
示例#2
0
 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);
 }
示例#3
0
        public bool Equals(DestinyMilestone input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     MilestoneHash == input.MilestoneHash ||
                     (MilestoneHash.Equals(input.MilestoneHash))
                     ) &&
                 (
                     AvailableQuests == input.AvailableQuests ||
                     (AvailableQuests != null && AvailableQuests.SequenceEqual(input.AvailableQuests))
                 ) &&
                 (
                     Activities == input.Activities ||
                     (Activities != null && Activities.SequenceEqual(input.Activities))
                 ) &&
                 (
                     Values == input.Values ||
                     (Values != null && Values.SequenceEqual(input.Values))
                 ) &&
                 (
                     VendorHashes == input.VendorHashes ||
                     (VendorHashes != null && VendorHashes.SequenceEqual(input.VendorHashes))
                 ) &&
                 (
                     Vendors == input.Vendors ||
                     (Vendors != null && Vendors.SequenceEqual(input.Vendors))
                 ) &&
                 (
                     Rewards == input.Rewards ||
                     (Rewards != null && Rewards.SequenceEqual(input.Rewards))
                 ) &&
                 (
                     StartDate == input.StartDate ||
                     (StartDate != null && StartDate.Equals(input.StartDate))
                 ) &&
                 (
                     EndDate == input.EndDate ||
                     (EndDate != null && EndDate.Equals(input.EndDate))
                 ) &&
                 (
                     Order == input.Order ||
                     (Order.Equals(input.Order))
                 ));
        }