public override bool Equals(object obj) { if (!(obj is Conversion)) { return(false); } var conversion = obj as Conversion; return(Id == conversion.Id && AccountId == conversion.AccountId && CreatorContactId == conversion.CreatorContactId && ShortReference == conversion.ShortReference && SettlementDate == conversion.SettlementDate && ConversionDate == conversion.ConversionDate && Status == conversion.Status && PartnerStatus == conversion.PartnerStatus && CurrencyPair == conversion.CurrencyPair && BuyCurrency == conversion.BuyCurrency && AccountId == conversion.AccountId && SellCurrency == conversion.SellCurrency && FixedSide == conversion.FixedSide && PartnerBuyAmount == conversion.PartnerBuyAmount && PartnerSellAmount == conversion.PartnerSellAmount && ClientBuyAmount == conversion.ClientBuyAmount && ClientSellAmount == conversion.ClientSellAmount && MidMarketRate == conversion.MidMarketRate && CoreRate == conversion.CoreRate && PartnerRate == conversion.PartnerRate && ClientRate == conversion.ClientRate && DepositRequired == conversion.DepositRequired && DepositAmount == conversion.DepositAmount && DepositCurrency == conversion.DepositCurrency && DepositStatus == conversion.DepositStatus && DepositRequiredAt == conversion.DepositRequiredAt && PaymentIds.SequenceEqual(conversion.PaymentIds) && CreatedAt == conversion.CreatedAt && UpdatedAt == conversion.UpdatedAt && UniqueRequestId == conversion.UniqueRequestId && UnallocatedFunds == conversion.UnallocatedFunds && Reason == conversion.Reason && ConversionDatePreference == conversion.ConversionDatePreference); }