public bool DeepEquals(DestinyVendorReceipt?other)
 {
     return(other is not null &&
            CurrencyPaid.DeepEqualsList(other.CurrencyPaid) &&
            (ItemReceived is not null ? ItemReceived.DeepEquals(other.ItemReceived) : other.ItemReceived is null) &&
            LicenseUnlockHash == other.LicenseUnlockHash &&
            PurchasedByCharacterId == other.PurchasedByCharacterId &&
            RefundPolicy == other.RefundPolicy &&
            SequenceNumber == other.SequenceNumber &&
            TimeToExpiration == other.TimeToExpiration &&
            ExpiresOn == other.ExpiresOn);
 }
 public void Update(DestinyVendorReceipt?other)
 {
     if (other is null)
     {
         return;
     }
     if (!CurrencyPaid.DeepEqualsList(other.CurrencyPaid))
     {
         CurrencyPaid = other.CurrencyPaid;
         OnPropertyChanged(nameof(CurrencyPaid));
     }
     if (!ItemReceived.DeepEquals(other.ItemReceived))
     {
         ItemReceived.Update(other.ItemReceived);
         OnPropertyChanged(nameof(ItemReceived));
     }
     if (LicenseUnlockHash != other.LicenseUnlockHash)
     {
         LicenseUnlockHash = other.LicenseUnlockHash;
         OnPropertyChanged(nameof(LicenseUnlockHash));
     }
     if (PurchasedByCharacterId != other.PurchasedByCharacterId)
     {
         PurchasedByCharacterId = other.PurchasedByCharacterId;
         OnPropertyChanged(nameof(PurchasedByCharacterId));
     }
     if (RefundPolicy != other.RefundPolicy)
     {
         RefundPolicy = other.RefundPolicy;
         OnPropertyChanged(nameof(RefundPolicy));
     }
     if (SequenceNumber != other.SequenceNumber)
     {
         SequenceNumber = other.SequenceNumber;
         OnPropertyChanged(nameof(SequenceNumber));
     }
     if (TimeToExpiration != other.TimeToExpiration)
     {
         TimeToExpiration = other.TimeToExpiration;
         OnPropertyChanged(nameof(TimeToExpiration));
     }
     if (ExpiresOn != other.ExpiresOn)
     {
         ExpiresOn = other.ExpiresOn;
         OnPropertyChanged(nameof(ExpiresOn));
     }
 }