/// <summary> /// Returns true if Payment instances are equal /// </summary> /// <param name="other">Instance of Payment to be compared</param> /// <returns>Boolean</returns> public bool Equals(Payment other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( PaymentOutput == other.PaymentOutput || PaymentOutput != null && PaymentOutput.Equals(other.PaymentOutput) ) && ( Status == other.Status || Status != null && Status.Equals(other.Status) ) && ( StatusOutput == other.StatusOutput || StatusOutput != null && StatusOutput.Equals(other.StatusOutput) )); }
/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; // Suitable nullity checks etc, of course :) if (PaymentOutput != null) { hashCode = hashCode * 59 + PaymentOutput.GetHashCode(); } if (Status != null) { hashCode = hashCode * 59 + Status.GetHashCode(); } if (StatusOutput != null) { hashCode = hashCode * 59 + StatusOutput.GetHashCode(); } return(hashCode); } }