/// <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();
        }
Пример #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));
Пример #3
0
 /// <summary>
 /// Create a new EVSE busy status.
 /// </summary>
 /// <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="BusyStatusUntil">An optional timestamp until which the given busy status is valid.</param>
 /// <param name="BusyStatusComment">An optional comment about the busy status.</param>
 public EVSEBusyStatus(EVSE_Id EVSEId,
                       DateTime StatusEventDate,
                       EVSEBusyStatusTypes BusyStatus,
                       DateTime?BusyStatusUntil = null,
                       String BusyStatusComment = null)
 {
     this.EVSEId            = EVSEId;
     this.StatusEventDate   = StatusEventDate;
     this.BusyStatus        = BusyStatus;
     this.BusyStatusUntil   = BusyStatusUntil;
     this.BusyStatusComment = BusyStatusComment?.Trim();
 }
        /// <summary>
        /// Return a text representation of the given EVSE busy status.
        /// </summary>
        /// <param name="BusyStatus">An EVSE busy status.</param>
        public static String AsText(this EVSEBusyStatusTypes BusyStatus)
        {
            switch (BusyStatus)
            {
            case EVSEBusyStatusTypes.Free:
                return("free");

            case EVSEBusyStatusTypes.Busy:
                return("busy");

            case EVSEBusyStatusTypes.Reserved:
                return("reserved");

            default:
                return("unspecified");
            }
        }
        /// <summary>
        /// Return a numeric representation of the given EVSE busy status.
        /// </summary>
        /// <param name="BusyStatus">An EVSE busy status.</param>
        public static Byte AsNumber(this EVSEBusyStatusTypes BusyStatus)
        {
            switch (BusyStatus)
            {
            case EVSEBusyStatusTypes.Free:
                return(1);

            case EVSEBusyStatusTypes.Busy:
                return(2);

            case EVSEBusyStatusTypes.Reserved:
                return(3);

            default:
                return(0);
            }
        }