/// <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();
        }
Beispiel #2
0
        /// <summary>
        /// Return a text representation of the given charging station availability status.
        /// </summary>
        /// <param name="AvailabilityStatus">A charging station availability status.</param>
        public static String AsText(this ChargingStationAvailabilityStatusTypes AvailabilityStatus)
        {
            switch (AvailabilityStatus)
            {
            case ChargingStationAvailabilityStatusTypes.OutOfOrder:
                return("out-of-order");

            case ChargingStationAvailabilityStatusTypes.InService:
                return("in-service");

            case ChargingStationAvailabilityStatusTypes.Future:
                return("future");

            case ChargingStationAvailabilityStatusTypes.Deleted:
                return("deleted");

            default:
                return("unspecified");
            }
        }
Beispiel #3
0
        /// <summary>
        /// Return a numeric representation of the given charging station availability status.
        /// </summary>
        /// <param name="AvailabilityStatus">A charging station availability status.</param>
        public static Byte AsNumber(this ChargingStationAvailabilityStatusTypes AvailabilityStatus)
        {
            switch (AvailabilityStatus)
            {
            case ChargingStationAvailabilityStatusTypes.OutOfOrder:
                return(1);

            case ChargingStationAvailabilityStatusTypes.InService:
                return(2);

            case ChargingStationAvailabilityStatusTypes.Future:
                return(3);

            case ChargingStationAvailabilityStatusTypes.Deleted:
                return(4);

            default:
                return(0);
            }
        }