/// <summary> /// Returns true if ResponseFaresBreakdownItem instances are equal /// </summary> /// <param name="other">Instance of ResponseFaresBreakdownItem to be compared</param> /// <returns>Boolean</returns> public bool Equals(ResponseFaresBreakdownItem other) { if (other is null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( Modes == other.Modes || Modes != null && other.Modes != null && Modes.SequenceEqual(other.Modes) ) && ( RoutePartIds == other.RoutePartIds || RoutePartIds != null && other.RoutePartIds != null && RoutePartIds.SequenceEqual(other.RoutePartIds) ) && ( Tickets == other.Tickets || Tickets != null && other.Tickets != null && Tickets.SequenceEqual(other.Tickets) )); }
/// <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 (Modes != null) { hashCode = hashCode * 59 + Modes.GetHashCode(); } if (RoutePartIds != null) { hashCode = hashCode * 59 + RoutePartIds.GetHashCode(); } if (Tickets != null) { hashCode = hashCode * 59 + Tickets.GetHashCode(); } return(hashCode); } }