/// <summary> /// Return the HashCode of this object. /// </summary> /// <returns>The HashCode of this object.</returns> public override Int32 GetHashCode() { unchecked { return(TransactionId.GetHashCode() * 29 ^ Timestamp.GetHashCode() * 23 ^ MeterStop.GetHashCode() * 19 ^ (IdTag.HasValue ? IdTag.GetHashCode() * 17 : 0) ^ (Reason.HasValue ? Reason.GetHashCode() * 11 : 0) ^ TransactionData.GetHashCode()); } }
/// <summary> /// Compares two stop transaction requests for equality. /// </summary> /// <param name="StopTransactionRequest">A stop transaction request to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public override Boolean Equals(StopTransactionRequest StopTransactionRequest) { if ((Object)StopTransactionRequest == null) { return(false); } return(TransactionId.Equals(StopTransactionRequest.TransactionId) && Timestamp.Equals(StopTransactionRequest.Timestamp) && MeterStop.Equals(StopTransactionRequest.MeterStop) && ((!IdTag.HasValue && !StopTransactionRequest.IdTag.HasValue) || (IdTag.HasValue && StopTransactionRequest.IdTag.HasValue && IdTag.Equals(StopTransactionRequest.IdTag))) && ((!Reason.HasValue && !StopTransactionRequest.Reason.HasValue) || (Reason.HasValue && StopTransactionRequest.Reason.HasValue && Reason.Equals(StopTransactionRequest.Reason))) && TransactionData.Count().Equals(StopTransactionRequest.TransactionData.Count())); }