Esempio n. 1
0
        /// <summary>
        /// Return a JSON representation of this object.
        /// </summary>
        /// <param name="CustomPushEVSEStatusRequestSerializer">A delegate to serialize custom time period JSON objects.</param>
        /// <param name="CustomOperatorEVSEStatusSerializer">A delegate to serialize custom operator EVSE status JSON objects.</param>
        /// <param name="CustomEVSEStatusRecordSerializer">A delegate to serialize custom EVSE status record JSON objects.</param>
        public JObject ToJSON(CustomJObjectSerializerDelegate <PushEVSEStatusRequest> CustomPushEVSEStatusRequestSerializer = null,
                              CustomJObjectSerializerDelegate <OperatorEVSEStatus> CustomOperatorEVSEStatusSerializer       = null,
                              CustomJObjectSerializerDelegate <EVSEStatusRecord> CustomEVSEStatusRecordSerializer           = null)
        {
            var JSON = JSONObject.Create(
                new JProperty("ActionType", Action.AsString()),
                new JProperty("OperatorEvseStatus", OperatorEVSEStatus.ToJSON(CustomOperatorEVSEStatusSerializer,
                                                                              CustomEVSEStatusRecordSerializer))
                );

            return(CustomPushEVSEStatusRequestSerializer != null
                       ? CustomPushEVSEStatusRequestSerializer(this, JSON)
                       : JSON);
        }
Esempio n. 2
0
        /// <summary>
        /// Create a new PushEVSEStatus request.
        /// </summary>
        /// <param name="OperatorEVSEStatus">The operator EVSE status record.</param>
        /// <param name="Action">The server-side status management operation.</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">The timeout for this request.</param>
        public PushEVSEStatusRequest(OperatorEVSEStatus OperatorEVSEStatus,
                                     ActionTypes Action = ActionTypes.FullLoad,

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

            : base(null,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.OperatorEVSEStatus = OperatorEVSEStatus ?? throw new ArgumentNullException(nameof(OperatorEVSEStatus), "The given operator EVSE status must not be null!");
            this.Action             = Action;
        }
Esempio n. 3
0
        /// <summary>
        /// Return a JSON-representation of this object.
        /// </summary>
        /// <param name="CustomPullEVSEStatusResponseSerializer">A delegate to customize the serialization of PullEVSEStatusResponse responses.</param>
        /// <param name="CustomOperatorEVSEStatusSerializer">A delegate to serialize custom operator EVSE status JSON objects.</param>
        /// <param name="CustomEVSEStatusRecordSerializer">A delegate to serialize custom EVSE status record JSON objects.</param>
        /// <param name="CustomStatusCodeSerializer">A delegate to serialize custom StatusCode JSON elements.</param>
        public JObject ToJSON(CustomJObjectSerializerDelegate <PullEVSEStatusResponse> CustomPullEVSEStatusResponseSerializer = null,
                              CustomJObjectSerializerDelegate <OperatorEVSEStatus> CustomOperatorEVSEStatusSerializer         = null,
                              CustomJObjectSerializerDelegate <EVSEStatusRecord> CustomEVSEStatusRecordSerializer             = null,
                              CustomJObjectSerializerDelegate <StatusCode> CustomStatusCodeSerializer = null)
        {
            var JSON = JSONObject.Create(

                new JProperty("EvseStatuses",
                              new JProperty("OperatorEvseStatus", new JArray(OperatorEVSEStatus.Select(operatorEVSEStatus => operatorEVSEStatus.ToJSON(CustomOperatorEVSEStatusSerializer,
                                                                                                                                                       CustomEVSEStatusRecordSerializer))))
                              ),

                StatusCode != null
                               ? new JProperty("StatusCode", StatusCode.ToJSON(CustomStatusCodeSerializer))
                               : null

                );

            return(CustomPullEVSEStatusResponseSerializer != null
                       ? CustomPullEVSEStatusResponseSerializer(this, JSON)
                       : JSON);
        }