コード例 #1
0
        /// <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));
            }
        }
コード例 #2
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))));
        }