/// <summary> /// Return the HashCode of this object. /// </summary> /// <returns>The HashCode of this object.</returns> public override Int32 GetHashCode() { unchecked { return(ConnectorId.GetHashCode() * 13 ^ IdTag.GetHashCode() * 11 ^ StartTimestamp.GetHashCode() * 7 ^ MeterStart.GetHashCode() * 5 ^ (ReservationId.HasValue ? ReservationId.GetHashCode() : 0)); } }
/// <summary> /// Compares two start transaction requests for equality. /// </summary> /// <param name="StartTransactionRequest">A start transaction request to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public override Boolean Equals(StartTransactionRequest StartTransactionRequest) { if (StartTransactionRequest is null) { return(false); } return(ConnectorId.Equals(StartTransactionRequest.ConnectorId) && IdTag.Equals(StartTransactionRequest.IdTag) && StartTimestamp.Equals(StartTransactionRequest.StartTimestamp) && MeterStart.Equals(StartTransactionRequest.MeterStart) && ((!ReservationId.HasValue && !StartTransactionRequest.ReservationId.HasValue) || (ReservationId.HasValue && StartTransactionRequest.ReservationId.HasValue && ReservationId.Equals(StartTransactionRequest.ReservationId)))); }