/// <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); }
/// <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; }
/// <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); }