/// <summary>
        /// Compares two charge detail recordes for equality.
        /// </summary>
        /// <param name="ChargeDetailRecord">An charge detail record to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public Boolean Equals(ChargeDetailRecord ChargeDetailRecord)
        {
            if ((Object)ChargeDetailRecord == null)
            {
                return(false);
            }

            return(CDRNature.Equals(ChargeDetailRecord.CDRNature) &&
                   ServiceSessionId.Equals(ChargeDetailRecord.ServiceSessionId) &&
                   RequestedServiceId.Equals(ChargeDetailRecord.RequestedServiceId) &&
                   EVSEId.Equals(ChargeDetailRecord.EVSEId) &&
                   UserContractIdAlias.Equals(ChargeDetailRecord.UserContractIdAlias) &&
                   UserId.Equals(ChargeDetailRecord.UserId) &&
                   StartTime.Equals(ChargeDetailRecord.StartTime) &&
                   EndTime.Equals(ChargeDetailRecord.EndTime) &&
                   MeterReports.Equals(ChargeDetailRecord.MeterReports) &&

                   ((!ExecPartnerSessionId.HasValue && !ChargeDetailRecord.ExecPartnerSessionId.HasValue) ||
                    (ExecPartnerSessionId.HasValue && ChargeDetailRecord.ExecPartnerSessionId.HasValue && ExecPartnerSessionId.Value.Equals(ChargeDetailRecord.ExecPartnerSessionId.Value))) &&

                   ((!ExecPartnerOperatorId.HasValue && !ChargeDetailRecord.ExecPartnerOperatorId.HasValue) ||
                    (ExecPartnerOperatorId.HasValue && ChargeDetailRecord.ExecPartnerOperatorId.HasValue && ExecPartnerOperatorId.Value.Equals(ChargeDetailRecord.ExecPartnerOperatorId.Value))) &&

                   ((!SalesPartnerSessionId.HasValue && !ChargeDetailRecord.SalesPartnerSessionId.HasValue) ||
                    (SalesPartnerSessionId.HasValue && ChargeDetailRecord.SalesPartnerSessionId.HasValue && SalesPartnerSessionId.Value.Equals(ChargeDetailRecord.SalesPartnerSessionId.Value))) &&

                   ((!SalesPartnerOperatorId.HasValue && !ChargeDetailRecord.SalesPartnerOperatorId.HasValue) ||
                    (SalesPartnerOperatorId.HasValue && ChargeDetailRecord.SalesPartnerOperatorId.HasValue && SalesPartnerOperatorId.Value.Equals(ChargeDetailRecord.SalesPartnerOperatorId.Value))) &&

                   ((!PartnerProductId.HasValue && !ChargeDetailRecord.PartnerProductId.HasValue) ||
                    (PartnerProductId.HasValue && ChargeDetailRecord.PartnerProductId.HasValue && PartnerProductId.Value.Equals(ChargeDetailRecord.PartnerProductId.Value))));
        }
            /// <summary>
            /// Compares two SetSessionEventReport responses for equality.
            /// </summary>
            /// <param name="SetSessionEventReportResponse">A SetSessionEventReport response to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(SetSessionEventReportResponse SetSessionEventReportResponse)
            {
                if (SetSessionEventReportResponse is null)
                {
                    return(false);
                }

                return(TransactionId.Equals(SetSessionEventReportResponse.TransactionId) &&
                       RequestStatus.Equals(SetSessionEventReportResponse.RequestStatus) &&
                       ServiceSessionId.Equals(SetSessionEventReportResponse.ServiceSessionId) &&
                       SessionActionId.Equals(SetSessionEventReportResponse.SessionActionId));
            }
Esempio n. 3
0
            /// <summary>
            /// Compares two SetChargeDetailRecord responses for equality.
            /// </summary>
            /// <param name="SetChargeDetailRecordResponse">A SetChargeDetailRecord response to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(SetChargeDetailRecordResponse SetChargeDetailRecordResponse)
            {
                if ((Object)SetChargeDetailRecordResponse == null)
                {
                    return(false);
                }

                return(TransactionId.Equals(SetChargeDetailRecordResponse.TransactionId) &&
                       ServiceSessionId.Equals(SetChargeDetailRecordResponse.ServiceSessionId) &&
                       RequestStatus.Equals(SetChargeDetailRecordResponse.RequestStatus) &&

                       ((!SalesPartnerOperatorId.HasValue && !SetChargeDetailRecordResponse.SalesPartnerOperatorId.HasValue) ||
                        (SalesPartnerOperatorId.HasValue && SetChargeDetailRecordResponse.SalesPartnerOperatorId.HasValue && SalesPartnerOperatorId.Value.Equals(SetChargeDetailRecordResponse.SalesPartnerOperatorId.Value))));
            }
            /// <summary>
            /// Compares two SetServiceAuthorisation responses for equality.
            /// </summary>
            /// <param name="SetServiceAuthorisationResponse">A SetServiceAuthorisation response to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(SetServiceAuthorisationResponse SetServiceAuthorisationResponse)
            {
                if (SetServiceAuthorisationResponse is null)
                {
                    return(false);
                }

                return(TransactionId.Equals(SetServiceAuthorisationResponse.TransactionId) &&
                       RequestStatus.Equals(SetServiceAuthorisationResponse.RequestStatus) &&
                       ServiceSessionId.Equals(SetServiceAuthorisationResponse.ServiceSessionId) &&

                       ((!ExecPartnerOperatorId.HasValue && !SetServiceAuthorisationResponse.ExecPartnerOperatorId.HasValue) ||
                        (ExecPartnerOperatorId.HasValue && SetServiceAuthorisationResponse.ExecPartnerOperatorId.HasValue && ExecPartnerOperatorId.Value.Equals(SetServiceAuthorisationResponse.ExecPartnerOperatorId.Value))));
            }
        /// <summary>
        /// Compares two heartbeat requests for equality.
        /// </summary>
        /// <param name="SetSessionEventReportRequest">A heartbeat request to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public override Boolean Equals(SetSessionEventReportRequest SetSessionEventReportRequest)
        {
            if (SetSessionEventReportRequest is null)
            {
                return(false);
            }

            return(((!TransactionId.HasValue && !SetSessionEventReportRequest.TransactionId.HasValue) ||
                    (TransactionId.HasValue && SetSessionEventReportRequest.TransactionId.HasValue && TransactionId.Value.Equals(SetSessionEventReportRequest.TransactionId.Value))) &&

                   PartnerId.Equals(SetSessionEventReportRequest.PartnerId) &&
                   OperatorId.Equals(SetSessionEventReportRequest.OperatorId) &&
                   ServiceSessionId.Equals(SetSessionEventReportRequest.ServiceSessionId) &&
                   SessionEvent.Equals(SetSessionEventReportRequest.SessionEvent) &&

                   ((!ExecPartnerSessionId.HasValue && !SetSessionEventReportRequest.ExecPartnerSessionId.HasValue) ||
                    (ExecPartnerSessionId.HasValue && SetSessionEventReportRequest.ExecPartnerSessionId.HasValue && ExecPartnerSessionId.Equals(SetSessionEventReportRequest.ExecPartnerSessionId))));
        }
Esempio n. 6
0
        /// <summary>
        /// Compares two heartbeat requests for equality.
        /// </summary>
        /// <param name="SetSessionActionRequest">A heartbeat request to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public override Boolean Equals(SetSessionActionRequest SetSessionActionRequest)
        {
            if (SetSessionActionRequest is null)
            {
                return(false);
            }

            return(((!TransactionId.HasValue && !SetSessionActionRequest.TransactionId.HasValue) ||
                    (TransactionId.HasValue && SetSessionActionRequest.TransactionId.HasValue && TransactionId.Value.Equals(SetSessionActionRequest.TransactionId.Value))) &&

                   PartnerId.Equals(SetSessionActionRequest.PartnerId) &&
                   OperatorId.Equals(SetSessionActionRequest.OperatorId) &&
                   ServiceSessionId.Equals(SetSessionActionRequest.ServiceSessionId) &&
                   SessionAction.Equals(SetSessionActionRequest.SessionAction) &&

                   ((!SalePartnerSessionId.HasValue && !SetSessionActionRequest.SalePartnerSessionId.HasValue) ||
                    (SalePartnerSessionId.HasValue && SetSessionActionRequest.SalePartnerSessionId.HasValue && SalePartnerSessionId.Equals(SetSessionActionRequest.SalePartnerSessionId))));
        }
            /// <summary>
            /// Compares two GetServiceAuthorisation responses for equality.
            /// </summary>
            /// <param name="GetServiceAuthorisationResponse">A GetServiceAuthorisation response to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(GetServiceAuthorisationResponse GetServiceAuthorisationResponse)
            {
                if ((Object)GetServiceAuthorisationResponse == null)
                {
                    return(false);
                }

                return(TransactionId.Equals(GetServiceAuthorisationResponse.TransactionId) &&
                       AuthorisationValue.Equals(GetServiceAuthorisationResponse.AuthorisationValue) &&
                       ServiceSessionId.Equals(GetServiceAuthorisationResponse.ServiceSessionId) &&
                       IntermediateCDRRequested.Equals(GetServiceAuthorisationResponse.IntermediateCDRRequested) &&
                       RequestStatus.Equals(GetServiceAuthorisationResponse.RequestStatus) &&

                       ((!SalesPartnerOperatorId.HasValue && !GetServiceAuthorisationResponse.SalesPartnerOperatorId.HasValue) ||
                        (SalesPartnerOperatorId.HasValue && GetServiceAuthorisationResponse.SalesPartnerOperatorId.HasValue && SalesPartnerOperatorId.Value.Equals(GetServiceAuthorisationResponse.SalesPartnerOperatorId.Value))) &&

                       ((!UserContractIdAlias.HasValue && !GetServiceAuthorisationResponse.UserContractIdAlias.HasValue) ||
                        (UserContractIdAlias.HasValue && GetServiceAuthorisationResponse.UserContractIdAlias.HasValue && UserContractIdAlias.Value.Equals(GetServiceAuthorisationResponse.UserContractIdAlias.Value))));

                // ToDo: Compare MeterLimitLists!
            }
            /// <summary>
            /// Compares two charge detail record builder for equality.
            /// </summary>
            /// <param name="ChargeDetailRecordBuilder">A charge detail record builder to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public Boolean Equals(Builder ChargeDetailRecordBuilder)
            {
                if (ChargeDetailRecordBuilder == null)
                {
                    return(false);
                }

                return(CDRNature.Equals(ChargeDetailRecordBuilder.CDRNature) &&
                       ServiceSessionId.Equals(ChargeDetailRecordBuilder.ServiceSessionId) &&
                       RequestedServiceId.Equals(ChargeDetailRecordBuilder.RequestedServiceId) &&
                       EVSEId.Equals(ChargeDetailRecordBuilder.EVSEId) &&
                       UserContractIdAlias.Equals(ChargeDetailRecordBuilder.UserContractIdAlias) &&
                       UserId.Equals(ChargeDetailRecordBuilder.UserId) &&
                       StartTime.Equals(ChargeDetailRecordBuilder.StartTime) &&
                       EndTime.Equals(ChargeDetailRecordBuilder.EndTime) &&

                       ExecPartnerSessionId.Equals(ChargeDetailRecordBuilder.ExecPartnerSessionId) &&
                       ExecPartnerOperatorId.Equals(ChargeDetailRecordBuilder.ExecPartnerOperatorId) &&
                       SalesPartnerSessionId.Equals(ChargeDetailRecordBuilder.SalesPartnerSessionId) &&
                       SalesPartnerOperatorId.Equals(ChargeDetailRecordBuilder.SalesPartnerOperatorId) &&
                       PartnerProductId.Equals(ChargeDetailRecordBuilder.PartnerProductId) &&
                       MeterReports.Equals(ChargeDetailRecordBuilder.MeterReports));
            }