/// <summary>
        /// Create an OICP AuthorizeStop XML/SOAP request.
        /// </summary>
        /// <param name="OperatorId">The unqiue identification of the charging station operator.</param>
        /// <param name="SessionId">The charging session identification.</param>
        /// <param name="Identification">An user identification.</param>
        /// <param name="EVSEId">An optional EVSE identification.</param>
        /// <param name="CPOPartnerSessionId">An optional CPO partner session identification.</param>
        /// <param name="EMPPartnerSessionId">An optional EMP partner session identification.</param>
        ///
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public AuthorizeStopRequest(Operator_Id OperatorId,
                                    Session_Id SessionId,
                                    Identification Identification,
                                    EVSE_Id?EVSEId = null,
                                    CPOPartnerSession_Id?CPOPartnerSessionId = null,
                                    EMPPartnerSession_Id?EMPPartnerSessionId = null,

                                    DateTime?Timestamp = null,
                                    CancellationToken?CancellationToken = null,
                                    EventTracking_Id EventTrackingId    = null,
                                    TimeSpan?RequestTimeout             = null)

            : base(Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId          = OperatorId;
            this.SessionId           = SessionId;
            this.Identification      = Identification;
            this.EVSEId              = EVSEId;
            this.CPOPartnerSessionId = CPOPartnerSessionId;
            this.EMPPartnerSessionId = EMPPartnerSessionId;
        }
Exemple #2
0
        SetEVSEBusyStatus(this ICPOClient CPOClient,
                          Partner_Id PartnerId,
                          Operator_Id OperatorId,
                          EVSE_Id EVSEId,
                          DateTime StatusEventDate,
                          EVSEBusyStatusTypes BusyStatus,
                          Transaction_Id?TransactionId = null,
                          DateTime?BusyStatusUntil     = null,
                          String BusyStatusComment     = null,

                          HTTPRequest HTTPRequest             = null,
                          DateTime?Timestamp                  = null,
                          CancellationToken?CancellationToken = null,
                          EventTracking_Id EventTrackingId    = null,
                          TimeSpan?RequestTimeout             = null)


        => CPOClient.SetEVSEBusyStatus(new SetEVSEBusyStatusRequest(PartnerId,
                                                                    OperatorId,
                                                                    EVSEId,
                                                                    StatusEventDate,
                                                                    BusyStatus,
                                                                    TransactionId,
                                                                    BusyStatusUntil,
                                                                    BusyStatusComment,

                                                                    HTTPRequest,
                                                                    Timestamp,
                                                                    CancellationToken,
                                                                    EventTrackingId,
                                                                    RequestTimeout ?? CPOClient.RequestTimeout));
Exemple #3
0
        GetServiceAuthorisation(this ICPOClient CPOClient,
                                Partner_Id PartnerId,
                                Operator_Id OperatorId,
                                EVSE_Id EVSEId,
                                User_Id UserId,
                                Service_Id RequestedServiceId,
                                Transaction_Id?TransactionId = null,
                                PartnerServiceSession_Id?PartnerServiceSessionId = null,

                                HTTPRequest HTTPRequest             = null,
                                DateTime?Timestamp                  = null,
                                CancellationToken?CancellationToken = null,
                                EventTracking_Id EventTrackingId    = null,
                                TimeSpan?RequestTimeout             = null)


        => CPOClient.GetServiceAuthorisation(new GetServiceAuthorisationRequest(PartnerId,
                                                                                OperatorId,
                                                                                EVSEId,
                                                                                UserId,
                                                                                RequestedServiceId,
                                                                                TransactionId,
                                                                                PartnerServiceSessionId,

                                                                                HTTPRequest,
                                                                                Timestamp,
                                                                                CancellationToken,
                                                                                EventTrackingId,
                                                                                RequestTimeout ?? CPOClient.RequestTimeout));
Exemple #4
0
        SetSessionAction(this IEMPClient EMPClient,
                         Partner_Id PartnerId,
                         Operator_Id OperatorId,
                         ServiceSession_Id ServiceSessionId,
                         SessionAction SessionAction,

                         Transaction_Id?TransactionId = null,
                         PartnerServiceSession_Id?SalePartnerSessionId = null,

                         HTTPRequest HTTPRequest             = null,
                         DateTime?Timestamp                  = null,
                         CancellationToken?CancellationToken = null,
                         EventTracking_Id EventTrackingId    = null,
                         TimeSpan?RequestTimeout             = null)


        => EMPClient.SetSessionAction(new SetSessionActionRequest(PartnerId,
                                                                  OperatorId,
                                                                  ServiceSessionId,
                                                                  SessionAction,

                                                                  TransactionId,
                                                                  SalePartnerSessionId,

                                                                  HTTPRequest,
                                                                  Timestamp,
                                                                  CancellationToken,
                                                                  EventTrackingId,
                                                                  RequestTimeout ?? EMPClient.RequestTimeout));
            AuthorizeStop(this ICPOClient        CPOClient,
                          Operator_Id            OperatorId,
                          Session_Id             SessionId,
                          Identification         Identification,
                          EVSE_Id?               EVSEId                = null,
                          CPOPartnerSession_Id?  CPOPartnerSessionId   = null,
                          EMPPartnerSession_Id?  EMPPartnerSessionId   = null,
                          JObject                CustomData            = null,

                          DateTime?              Timestamp             = null,
                          CancellationToken?     CancellationToken     = null,
                          EventTracking_Id       EventTrackingId       = null,
                          TimeSpan?              RequestTimeout        = null)

            => CPOClient.AuthorizeStop(
                   new AuthorizeStopRequest(
                       OperatorId,
                       SessionId,
                       Identification,
                       EVSEId,
                       CPOPartnerSessionId,
                       EMPPartnerSessionId,
                       CustomData,

                       Timestamp,
                       CancellationToken,
                       EventTrackingId,
                       RequestTimeout ?? CPOClient.RequestTimeout));
        /// <summary>
        /// Create a SetSessionEventReportRequest XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="ServiceSessionId">The service session identification.</param>
        /// <param name="SessionEvent">The session event.</param>
        ///
        /// <param name="TransactionId">An optional transaction identification.</param>
        /// <param name="ExecPartnerSessionId">An optional partner service session identification.</param>
        ///
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public SetSessionEventReportRequest(Partner_Id PartnerId,
                                            Operator_Id OperatorId,
                                            ServiceSession_Id ServiceSessionId,
                                            SessionEvent SessionEvent,

                                            Transaction_Id?TransactionId = null,
                                            PartnerServiceSession_Id?ExecPartnerSessionId = null,

                                            HTTPRequest HTTPRequest             = null,
                                            DateTime?Timestamp                  = null,
                                            CancellationToken?CancellationToken = null,
                                            EventTracking_Id EventTrackingId    = null,
                                            TimeSpan?RequestTimeout             = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId           = OperatorId;
            this.ServiceSessionId     = ServiceSessionId;
            this.SessionEvent         = SessionEvent;
            this.ExecPartnerSessionId = ExecPartnerSessionId;
        }
        /// <summary>
        /// Create a SetChargingStationAvailabilityStatus XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="ChargingStationId">The charging station identification.</param>
        /// <param name="StatusEventDate">The timestamp of the status change.</param>
        /// <param name="AvailabilityStatus">The charging station availability status.</param>
        /// <param name="TransactionId">An optional transaction identification.</param>
        /// <param name="AvailabilityStatusUntil">An optional timestamp until which the given availability status is valid.</param>
        /// <param name="AvailabilityStatusComment">An optional comment about the availability status.</param>
        ///
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public SetChargingStationAvailabilityStatusRequest(Partner_Id PartnerId,
                                                           Operator_Id OperatorId,
                                                           ChargingStation_Id ChargingStationId,
                                                           DateTime StatusEventDate,
                                                           ChargingStationAvailabilityStatusTypes AvailabilityStatus,
                                                           Transaction_Id?TransactionId     = null,
                                                           DateTime?AvailabilityStatusUntil = null,
                                                           String AvailabilityStatusComment = null,

                                                           HTTPRequest HTTPRequest             = null,
                                                           DateTime?Timestamp                  = null,
                                                           CancellationToken?CancellationToken = null,
                                                           EventTracking_Id EventTrackingId    = null,
                                                           TimeSpan?RequestTimeout             = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId                = OperatorId;
            this.ChargingStationId         = ChargingStationId;
            this.StatusEventDate           = StatusEventDate;
            this.AvailabilityStatus        = AvailabilityStatus;
            this.AvailabilityStatusUntil   = AvailabilityStatusUntil;
            this.AvailabilityStatusComment = AvailabilityStatusComment?.Trim();
        }
            AuthorizeStart(this ICPOClient        CPOClient,
                           Operator_Id            OperatorId,
                           Identification         Identification,
                           EVSE_Id?               EVSEId                = null,
                           PartnerProduct_Id?     PartnerProductId      = null,
                           CPOPartnerSession_Id?  CPOPartnerSessionId   = null,
                           JObject                CustomData            = null,

                           DateTime?              Timestamp             = null,
                           CancellationToken?     CancellationToken     = null,
                           EventTracking_Id       EventTrackingId       = null,
                           TimeSpan?              RequestTimeout        = null)

            => CPOClient.AuthorizeStart(
                   new AuthorizeStartRequest(
                       OperatorId,
                       Identification,
                       EVSEId,
                       PartnerProductId, // PartnerProductId will not be shown in the Hubject portal!
                       null,             // SessionId will be ignored by Hubject!
                       CPOPartnerSessionId,
                       null,             // EMPPartnerSessionId does not make much sense here!
                       CustomData,

                       Timestamp,
                       CancellationToken,
                       EventTrackingId,
                       RequestTimeout ?? CPOClient.RequestTimeout));
            PushEVSEStatus(this ICPOClient     CPOClient,
                           EVSEStatusRecord    EVSEStatusRecord,
                           Operator_Id         OperatorId,
                           String              OperatorName,
                           ActionTypes         Action              = ActionTypes.Update,

                           DateTime?           Timestamp           = null,
                           CancellationToken?  CancellationToken   = null,
                           EventTracking_Id    EventTrackingId     = null,
                           TimeSpan?           RequestTimeout      = null)


                => CPOClient.PushEVSEStatus(
                       new PushEVSEStatusRequest(
                           new OperatorEVSEStatus(
                               new EVSEStatusRecord[] { EVSEStatusRecord },
                               OperatorId,
                               OperatorName
                           ),
                           Action,

                           Timestamp,
                           CancellationToken,
                           EventTrackingId,
                           RequestTimeout ?? CPOClient.RequestTimeout));
        /// <summary>
        /// Create a SetEVSEBusyStatus XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="EVSEId">The EVSE identification.</param>
        /// <param name="StatusEventDate">The timestamp of the status change.</param>
        /// <param name="BusyStatus">The EVSE busy status.</param>
        /// <param name="TransactionId">An optional transaction identification.</param>
        /// <param name="BusyStatusUntil">An optional timestamp until which the given busy status is valid.</param>
        /// <param name="BusyStatusComment">An optional comment about the busy status.</param>
        ///
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public SetEVSEBusyStatusRequest(Partner_Id PartnerId,
                                        Operator_Id OperatorId,
                                        EVSE_Id EVSEId,
                                        DateTime StatusEventDate,
                                        EVSEBusyStatusTypes BusyStatus,
                                        Transaction_Id?TransactionId = null,
                                        DateTime?BusyStatusUntil     = null,
                                        String BusyStatusComment     = null,

                                        HTTPRequest HTTPRequest             = null,
                                        DateTime?Timestamp                  = null,
                                        CancellationToken?CancellationToken = null,
                                        EventTracking_Id EventTrackingId    = null,
                                        TimeSpan?RequestTimeout             = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId        = OperatorId;
            this.EVSEId            = EVSEId;
            this.StatusEventDate   = StatusEventDate;
            this.BusyStatus        = BusyStatus;
            this.BusyStatusUntil   = BusyStatusUntil;
            this.BusyStatusComment = BusyStatusComment?.Trim();
        }
Exemple #11
0
        /// <summary>
        /// Create a GetServiceAuthorisation XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="EVSEId">The EVSE identification.</param>
        /// <param name="UserId">The user identification.</param>
        /// <param name="RequestedServiceId">The service identification for which an authorisation is requested.</param>
        /// <param name="TransactionId">An optional transaction identification.</param>
        /// <param name="PartnerServiceSessionId">An optional partner session identification.</param>
        ///
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public GetServiceAuthorisationRequest(Partner_Id PartnerId,
                                              Operator_Id OperatorId,
                                              EVSE_Id EVSEId,
                                              User_Id UserId,
                                              Service_Id RequestedServiceId,
                                              Transaction_Id?TransactionId = null,
                                              PartnerServiceSession_Id?PartnerServiceSessionId = null,

                                              HTTPRequest HTTPRequest             = null,
                                              DateTime?Timestamp                  = null,
                                              CancellationToken?CancellationToken = null,
                                              EventTracking_Id EventTrackingId    = null,
                                              TimeSpan?RequestTimeout             = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId              = OperatorId;
            this.EVSEId                  = EVSEId;
            this.UserId                  = UserId;
            this.RequestedServiceId      = RequestedServiceId;
            this.PartnerServiceSessionId = PartnerServiceSessionId;
        }
        AuthorizeStop(this ICPOClient ICPOClient,
                      Operator_Id OperatorId,
                      Session_Id SessionId,
                      UID UID,
                      EVSE_Id?EVSEId = null,
                      CPOPartnerSession_Id?CPOPartnerSessionId = null,
                      EMPPartnerSession_Id?EMPPartnerSessionId = null,

                      DateTime?Timestamp = null,
                      CancellationToken?CancellationToken = null,
                      EventTracking_Id EventTrackingId    = null,
                      TimeSpan?RequestTimeout             = null)


        => ICPOClient.AuthorizeStop(new AuthorizeStopRequest(OperatorId,
                                                             SessionId,
                                                             Identification.FromUID(UID),
                                                             EVSEId,
                                                             CPOPartnerSessionId,
                                                             EMPPartnerSessionId,

                                                             Timestamp,
                                                             CancellationToken,
                                                             EventTrackingId,
                                                             RequestTimeout ?? ICPOClient.RequestTimeout));
            PushEVSEData(this ICPOClient                 CPOClient,
                         IEnumerable<EVSEDataRecord>     EVSEDataRecords,
                         Operator_Id                     OperatorId,
                         String                          OperatorName,
                         ActionTypes                     Action                   = ActionTypes.FullLoad,
                         IncludeEVSEDataRecordsDelegate  IncludeEVSEDataRecords   = null,

                         DateTime?                       Timestamp                = null,
                         CancellationToken?              CancellationToken        = null,
                         EventTracking_Id                EventTrackingId          = null,
                         TimeSpan?                       RequestTimeout           = null)


                => CPOClient.PushEVSEData(
                       new PushEVSEDataRequest(
                           new OperatorEVSEData(IncludeEVSEDataRecords != null
                                                    ? EVSEDataRecords.Where(evsedatarecord => IncludeEVSEDataRecords(evsedatarecord))
                                                    : EVSEDataRecords,
                                                OperatorId,
                                                OperatorName),
                           Action,

                           Timestamp,
                           CancellationToken,
                           EventTrackingId,
                           RequestTimeout ?? CPOClient.RequestTimeout));
        PushEVSEStatus(this ICPOClient ICPOClient,
                       Operator_Id OperatorId,
                       ActionTypes Action,
                       params EVSEStatusRecord[]  EVSEStatusRecords)


        => ICPOClient.PushEVSEStatus(new PushEVSEStatusRequest(new OperatorEVSEStatus(EVSEStatusRecords,
                                                                                      OperatorId),
                                                               Action:          Action,

                                                               RequestTimeout:  ICPOClient.RequestTimeout));
Exemple #15
0
        /// <summary>
        /// Create an OICP PullAuthenticationData XML/SOAP request.
        /// </summary>
        /// <param name="OperatorId">The unqiue identification of the charging station operator.</param>
        ///
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public PullAuthenticationDataRequest(Operator_Id OperatorId,

                                             DateTime?Timestamp = null,
                                             CancellationToken?CancellationToken = null,
                                             EventTracking_Id EventTrackingId    = null,
                                             TimeSpan?RequestTimeout             = null)

            : base(Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId = OperatorId;
        }
        PullAuthenticationData(this ICPOClient ICPOClient,
                               Operator_Id OperatorId,

                               DateTime?Timestamp = null,
                               CancellationToken?CancellationToken = null,
                               EventTracking_Id EventTrackingId    = null,
                               TimeSpan?RequestTimeout             = null)


        => ICPOClient.PullAuthenticationData(new PullAuthenticationDataRequest(OperatorId,

                                                                               Timestamp,
                                                                               CancellationToken,
                                                                               EventTrackingId,
                                                                               RequestTimeout ?? ICPOClient.RequestTimeout));
            PushEVSEStatus(this ICPOClient            CPOClient,
                           Operator_Id                OperatorId,
                           String                     OperatorName,
                           ActionTypes                Action,
                           params EVSEStatusRecord[]  EVSEStatusRecords)


            => CPOClient.PushEVSEStatus(
                   new PushEVSEStatusRequest(
                       new OperatorEVSEStatus(
                           EVSEStatusRecords,
                           OperatorId,
                           OperatorName
                       ),
                       Action,
                       RequestTimeout: CPOClient.RequestTimeout));
        /// <summary>
        /// Create a SetServiceAuthorisationRequest XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="TargetOperatorId">The target operator identification.</param>
        /// <param name="EVSEId">The EVSE identification.</param>
        /// <param name="UserId">The user identification.</param>
        /// <param name="RequestedServiceId">The service identification for which an authorisation is requested.</param>
        /// <param name="ServiceSessionId">The service session identification.</param>
        /// <param name="AuthorisationValue">Whether to start or stop the charging process.</param>
        /// <param name="IntermediateCDRRequested">Whether the eMSP wishes to receive intermediate charging session records.</param>
        /// 
        /// <param name="TransactionId">An optional transaction identification.</param>
        /// <param name="UserContractIdAlias">Anonymized alias of the contract id between the end-user and the eMSP.</param>
        /// <param name="MeterLimits">Meter limits for this authorisation: The eMSP can authorise the charge but for less than x Wh or y minutes, or z euros.</param>
        /// <param name="Parameter">eMSP parameter string (reserved for future use).</param>
        /// <param name="BookingId"></param>
        /// 
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public SetServiceAuthorisationRequest(HTTPRequest                HTTPRequest,
                                              Partner_Id                 PartnerId,
                                              Operator_Id                OperatorId,
                                              Operator_Id                TargetOperatorId,
                                              EVSE_Id                    EVSEId,
                                              User_Id                    UserId,
                                              Service_Id                 RequestedServiceId,
                                              ServiceSession_Id          ServiceSessionId,
                                              RemoteStartStopValues      AuthorisationValue,
                                              Boolean                    IntermediateCDRRequested,

                                              Transaction_Id?            TransactionId             = null,
                                              Contract_Id?               UserContractIdAlias       = null,
                                              IEnumerable<MeterReport>   MeterLimits               = null,
                                              String                     Parameter                 = null,
                                              Booking_Id?                BookingId                 = null,

                                              DateTime?                  Timestamp                 = null,
                                              CancellationToken?         CancellationToken         = null,
                                              EventTracking_Id           EventTrackingId           = null,
                                              TimeSpan?                  RequestTimeout            = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {

            this.OperatorId                = OperatorId;
            this.TargetOperatorId          = TargetOperatorId;
            this.EVSEId                    = EVSEId;
            this.UserId                    = UserId;
            this.RequestedServiceId        = RequestedServiceId;
            this.ServiceSessionId          = ServiceSessionId;
            this.AuthorisationValue        = AuthorisationValue;
            this.IntermediateCDRRequested  = IntermediateCDRRequested;

            this.UserContractIdAlias       = UserContractIdAlias;
            this.MeterLimits               = MeterLimits;
            this.Parameter                 = Parameter;
            this.BookingId                 = BookingId;

        }
Exemple #19
0
        SetServiceAuthorisation(this IEMPClient EMPClient,
                                Partner_Id PartnerId,
                                Operator_Id OperatorId,
                                EVSE_Id EVSEId,
                                User_Id UserId,
                                Service_Id RequestedServiceId,
                                RemoteStartStopValues AuthorisationValue,
                                Boolean IntermediateCDRRequested,

                                Transaction_Id?TransactionId = null,
                                PartnerServiceSession_Id?PartnerServiceSessionId = null,
                                Contract_Id?UserContractIdAlias       = null,
                                IEnumerable <MeterReport> MeterLimits = null,
                                String Parameter                = null,
                                Booking_Id?BookingId            = null,
                                Booking_Id?SalePartnerBookingId = null,

                                HTTPRequest HTTPRequest             = null,
                                DateTime?Timestamp                  = null,
                                CancellationToken?CancellationToken = null,
                                EventTracking_Id EventTrackingId    = null,
                                TimeSpan?RequestTimeout             = null)


        => EMPClient.SetServiceAuthorisation(new SetServiceAuthorisationRequest(PartnerId,
                                                                                OperatorId,
                                                                                EVSEId,
                                                                                UserId,
                                                                                RequestedServiceId,
                                                                                AuthorisationValue,
                                                                                IntermediateCDRRequested,

                                                                                TransactionId,
                                                                                PartnerServiceSessionId,
                                                                                UserContractIdAlias,
                                                                                MeterLimits,
                                                                                Parameter,
                                                                                BookingId,
                                                                                SalePartnerBookingId,

                                                                                HTTPRequest,
                                                                                Timestamp,
                                                                                CancellationToken,
                                                                                EventTrackingId,
                                                                                RequestTimeout ?? EMPClient.RequestTimeout));
        PushEVSEData(this ICPOClient ICPOClient,
                     EVSEDataRecord EVSEDataRecord,
                     Operator_Id OperatorId,
                     String OperatorName = null,
                     ActionTypes Action  = ActionTypes.insert,

                     DateTime?Timestamp = null,
                     CancellationToken?CancellationToken = null,
                     EventTracking_Id EventTrackingId    = null,
                     TimeSpan?RequestTimeout             = null)


        => ICPOClient.PushEVSEData(new PushEVSEDataRequest(new OperatorEVSEData(new EVSEDataRecord[] { EVSEDataRecord },
                                                                                OperatorId,
                                                                                OperatorName),
                                                           Action,

                                                           Timestamp,
                                                           CancellationToken,
                                                           EventTrackingId,
                                                           RequestTimeout ?? ICPOClient.RequestTimeout));
        /// <summary>
        /// Create a Heartbeat XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="TransactionId">An optional transaction identification.</param>
        ///
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public HeartbeatRequest(Partner_Id PartnerId,
                                Operator_Id OperatorId,
                                Transaction_Id?TransactionId = null,

                                HTTPRequest HTTPRequest             = null,
                                DateTime?Timestamp                  = null,
                                CancellationToken?CancellationToken = null,
                                EventTracking_Id EventTrackingId    = null,
                                TimeSpan?RequestTimeout             = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId = OperatorId;
        }
Exemple #22
0
        SendHeartbeat(this IEMPClient EMPClient,
                      Partner_Id PartnerId,
                      Operator_Id OperatorId,
                      Transaction_Id?TransactionId = null,

                      HTTPRequest HTTPRequest             = null,
                      DateTime?Timestamp                  = null,
                      CancellationToken?CancellationToken = null,
                      EventTracking_Id EventTrackingId    = null,
                      TimeSpan?RequestTimeout             = null)


        => EMPClient.SendHeartbeat(new HeartbeatRequest(PartnerId,
                                                        OperatorId,
                                                        TransactionId,

                                                        HTTPRequest,
                                                        Timestamp,
                                                        CancellationToken,
                                                        EventTrackingId,
                                                        RequestTimeout ?? EMPClient.RequestTimeout));
            SendChargeDetailRecord(this ICPOClient     CPOClient,
                                   ChargeDetailRecord  ChargeDetailRecord,
                                   Operator_Id         OperatorId,
                                   JObject             CustomData         = null,

                                   DateTime?           Timestamp          = null,
                                   CancellationToken?  CancellationToken  = null,
                                   EventTracking_Id    EventTrackingId    = null,
                                   TimeSpan?           RequestTimeout     = null)


                => CPOClient.SendChargeDetailRecord(
                       new ChargeDetailRecordRequest(
                           ChargeDetailRecord,
                           OperatorId,
                           CustomData,

                           Timestamp,
                           CancellationToken,
                           EventTrackingId,
                           RequestTimeout ?? CPOClient.RequestTimeout));
Exemple #24
0
        SetChargeDetailRecord(this ICPOClient CPOClient,
                              Partner_Id PartnerId,
                              Operator_Id OperatorId,
                              ChargeDetailRecord ChargeDetailRecord,
                              Transaction_Id?TransactionId = null,

                              HTTPRequest HTTPRequest             = null,
                              DateTime?Timestamp                  = null,
                              CancellationToken?CancellationToken = null,
                              EventTracking_Id EventTrackingId    = null,
                              TimeSpan?RequestTimeout             = null)


        => CPOClient.SetChargeDetailRecord(new SetChargeDetailRecordRequest(PartnerId,
                                                                            OperatorId,
                                                                            ChargeDetailRecord,
                                                                            TransactionId,

                                                                            HTTPRequest,
                                                                            Timestamp,
                                                                            CancellationToken,
                                                                            EventTrackingId,
                                                                            RequestTimeout ?? CPOClient.RequestTimeout));
Exemple #25
0
        /// <summary>
        /// Create a SetChargeDetailRecord XML/SOAP request.
        /// </summary>
        /// <param name="PartnerId">The partner identification.</param>
        /// <param name="OperatorId">The operator identification.</param>
        /// <param name="ChargeDetailRecord">The charge detail record.</param>
        /// <param name="TransactionId">An optional transaction identification.</param>
        ///
        /// <param name="HTTPRequest">The correlated HTTP request of this eMIP request.</param>
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">An optional timeout for this request.</param>
        public SetChargeDetailRecordRequest(Partner_Id PartnerId,
                                            Operator_Id OperatorId,
                                            ChargeDetailRecord ChargeDetailRecord,
                                            Transaction_Id?TransactionId = null,

                                            HTTPRequest HTTPRequest             = null,
                                            DateTime?Timestamp                  = null,
                                            CancellationToken?CancellationToken = null,
                                            EventTracking_Id EventTrackingId    = null,
                                            TimeSpan?RequestTimeout             = null)

            : base(HTTPRequest,
                   PartnerId,
                   TransactionId,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorId         = OperatorId;
            this.ChargeDetailRecord = ChargeDetailRecord;
        }