예제 #1
0
        /// <summary>
        /// Return a text-representation of this object.
        /// </summary>
        public override String ToString()

        => String.Concat(EVSEStatusRecords.Count() + " EVSE status record(s)",

                         StatusCode.HasValue
                                 ? " -> " + StatusCode.Value.Code
                                 : "");
예제 #2
0
        /// <summary>
        /// Return the HashCode of this object.
        /// </summary>
        /// <returns>The HashCode of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return((EVSEStatusRecords.Any()
                           ? EVSEStatusRecords.GetHashCode() * 5
                           : 0) ^

                       StatusCode.GetHashCode());
            }
        }
예제 #3
0
            /// <summary>
            /// Compares two EVSE status by id responses for equality.
            /// </summary>
            /// <param name="EVSEStatusById">An EVSE status by id response to compare with.</param>
            /// <returns>True if both match; False otherwise.</returns>
            public override Boolean Equals(EVSEStatusById EVSEStatusById)
            {
                if ((Object)EVSEStatusById == null)
                {
                    return(false);
                }

                return((!EVSEStatusRecords.Any() && !EVSEStatusById.EVSEStatusRecords.Any()) ||
                       (EVSEStatusRecords.Any() && EVSEStatusById.EVSEStatusRecords.Any() && EVSEStatusRecords.Count().Equals(EVSEStatusById.EVSEStatusRecords.Count())) &&

                       (StatusCode != null && EVSEStatusById.StatusCode != null) ||
                       (StatusCode == null && EVSEStatusById.StatusCode == null && StatusCode.Equals(EVSEStatusById.StatusCode)));
            }
        /// <summary>
        /// Return the HashCode of this object.
        /// </summary>
        /// <returns>The HashCode of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return(EVSEStatusRecords.GetHashCode() * 17 ^
                       OperatorId.GetHashCode() * 11 ^

                       (OperatorName != null
                            ? OperatorName.GetHashCode() * 5
                            : 0) ^

                       Action.GetHashCode());
            }
        }
        /// <summary>
        /// Return the HashCode of this object.
        /// </summary>
        /// <returns>The HashCode of this object.</returns>
        public override Int32 GetHashCode()
        {
            unchecked
            {
                return(OperatorId.GetHashCode() * 5 ^

                       (OperatorName.IsNotNullOrEmpty()
                            ? OperatorName.GetHashCode()
                            : 0) * 3 ^

                       (EVSEStatusRecords.Any()
                            ? EVSEStatusRecords.GetHashCode()
                            : 0));
            }
        }
        /// <summary>
        /// Compares two operator EVSE statuss for equality.
        /// </summary>
        /// <param name="OperatorEVSEStatus">A operator EVSE status to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public Boolean Equals(OperatorEVSEStatus OperatorEVSEStatus)
        {
            if ((Object)OperatorEVSEStatus == null)
            {
                return(false);
            }

            return(OperatorId.Equals(OperatorEVSEStatus.OperatorId) &&

                   ((OperatorName == null && OperatorEVSEStatus.OperatorName == null) ||
                    (OperatorName != null && OperatorEVSEStatus.OperatorName != null && OperatorName.Equals(OperatorEVSEStatus.OperatorName))) &&

                   ((!EVSEStatusRecords.Any() && !OperatorEVSEStatus.EVSEStatusRecords.Any()) ||
                    (EVSEStatusRecords.Any() && OperatorEVSEStatus.EVSEStatusRecords.Any() && EVSEStatusRecords.Count().Equals(OperatorEVSEStatus.EVSEStatusRecords.Count()))));
        }
        /// <summary>
        /// Compares two push EVSE status requests for equality.
        /// </summary>
        /// <param name="PushEVSEStatus">An push EVSE status request to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public override Boolean Equals(PushEVSEStatusRequest PushEVSEStatus)
        {
            if ((Object)PushEVSEStatus == null)
            {
                return(false);
            }

            return(EVSEStatusRecords.Count().Equals(PushEVSEStatus.EVSEStatusRecords.Count()) &&
                   OperatorId.Equals(PushEVSEStatus.OperatorId) &&

                   ((OperatorName == null && PushEVSEStatus.OperatorName == null) ||
                    (OperatorName != null && PushEVSEStatus.OperatorName != null && OperatorName.Equals(PushEVSEStatus.OperatorName))) &&

                   Action.Equals(PushEVSEStatus.Action));
        }
        /// <summary>
        /// Return a JSON representation of this object.
        /// </summary>
        /// <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 <OperatorEVSEStatus> CustomOperatorEVSEStatusSerializer = null,
                              CustomJObjectSerializerDelegate <EVSEStatusRecord> CustomEVSEStatusRecordSerializer     = null)
        {
            var JSON = JSONObject.Create(

                new JProperty("EvseStatusRecord", new JArray(EVSEStatusRecords.Select(evseStatusRecord => evseStatusRecord.ToJSON(CustomEVSEStatusRecordSerializer)))),
                new JProperty("OperatorID", OperatorId.ToString()),
                new JProperty("OperatorName", OperatorName),

                CustomData?.HasValues == true
                               ? new JProperty("CustomData", CustomData)
                               : null

                );

            return(CustomOperatorEVSEStatusSerializer != null
                       ? CustomOperatorEVSEStatusSerializer(this, JSON)
                       : JSON);
        }
        /// <summary>
        /// Return a JSON-representation of this object.
        /// </summary>
        /// <param name="CustomPullEVSEStatusByIdResponseSerializer">A delegate to customize the serialization of PullEVSEStatusByIdResponse responses.</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 <PullEVSEStatusByIdResponse> CustomPullEVSEStatusByIdResponseSerializer = null,
                              CustomJObjectSerializerDelegate <EVSEStatusRecord> CustomEVSEStatusRecordSerializer = null,
                              CustomJObjectSerializerDelegate <StatusCode> CustomStatusCodeSerializer             = null)
        {
            var JSON = JSONObject.Create(

                new JProperty("EVSEStatusRecords",
                              new JProperty("EvseStatusRecord", new JArray(EVSEStatusRecords.Select(evseStatusRecord => evseStatusRecord.ToJSON(CustomEVSEStatusRecordSerializer))))
                              ),

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

                );

            return(CustomPullEVSEStatusByIdResponseSerializer != null
                       ? CustomPullEVSEStatusByIdResponseSerializer(this, JSON)
                       : JSON);
        }
예제 #10
0
        /// <summary>
        /// Return a XML representation of this object.
        /// </summary>
        /// <param name="CustomEVSEStatusByIdSerializer">A delegate to serialize custom EVSEStatusById XML elements.</param>
        /// <param name="XName">The XML name to use.</param>
        /// <param name="EVSEStatusRecordXName">The EVSEStatusRecord XML name to use.</param>
        /// <param name="CustomEVSEStatusRecordSerializer">A delegate to serialize custom EVSEStatusRecord XML elements.</param>
        public XElement ToXML(CustomXMLSerializerDelegate <EVSEStatusById> CustomEVSEStatusByIdSerializer = null,
                              XName XName = null,
                              XName EVSEStatusRecordXName = null,
                              CustomXMLSerializerDelegate <EVSEStatusRecord> CustomEVSEStatusRecordSerializer = null)

        {
            var XML = new XElement(XName ?? OICPNS.EVSEStatus + "eRoamingEvseStatusById",

                                   EVSEStatusRecords.Any()
                              ? EVSEStatusRecords.SafeSelect(record => record.ToXML(EVSEStatusRecordXName,
                                                                                    CustomEVSEStatusRecordSerializer))
                              : null,

                                   StatusCode?.ToXML(OICPNS.EVSEStatus + "StatusCode")

                                   );


            return(CustomEVSEStatusByIdSerializer != null
                       ? CustomEVSEStatusByIdSerializer(this, XML)
                       : XML);
        }
        /// <summary>
        /// Return a XML representation of this object.
        /// </summary>
        /// <param name="OperatorEVSEStatusXName">The OperatorEVSEStatus XML name to use.</param>
        /// <param name="CustomOperatorEVSEStatusSerializer">A delegate to serialize custom OperatorEVSEStatus XML elements.</param>
        /// <param name="EVSEStatusRecordXName">The EVSEStatusRecord XML name to use.</param>
        /// <param name="CustomEVSEStatusRecordSerializer">A delegate to serialize custom EVSEStatusRecord XML elements.</param>
        public XElement ToXML(XName OperatorEVSEStatusXName = null,
                              CustomXMLSerializerDelegate <OperatorEVSEStatus> CustomOperatorEVSEStatusSerializer = null,
                              XName EVSEStatusRecordXName = null,
                              CustomXMLSerializerDelegate <EVSEStatusRecord> CustomEVSEStatusRecordSerializer = null)

        {
            var xml = new XElement(OperatorEVSEStatusXName ?? OICPNS.EVSEStatus + "OperatorEvseStatus",

                                   new XElement(OICPNS.EVSEStatus + "OperatorID", OperatorId.ToString()),

                                   OperatorName.IsNotNullOrEmpty()
                              ? new XElement(OICPNS.EVSEStatus + "OperatorName", OperatorName)
                              : null,

                                   EVSEStatusRecords.Any()
                              ? EVSEStatusRecords.SafeSelect(evsestatusrecord => evsestatusrecord.ToXML(EVSEStatusRecordXName,
                                                                                                        CustomEVSEStatusRecordSerializer))
                              : null);

            return(CustomOperatorEVSEStatusSerializer != null
                       ? CustomOperatorEVSEStatusSerializer(this, xml)
                       : xml);
        }
        /// <summary>
        /// Return a text-representation of this object.
        /// </summary>
        public override String ToString()

        => String.Concat(OperatorId,
                         OperatorName.IsNotNullOrEmpty() ? ", " + OperatorName : "",
                         ", ", EVSEStatusRecords.Count(), " EVSE status record(s)");
        /// <summary>
        /// Return a text-representation of this object.
        /// </summary>
        public override String ToString()

        => String.Concat(Action, " of ",
                         EVSEStatusRecords.Count(), " EVSE status record(s)",
                         " (", OperatorName != null ? OperatorName : "", " / ", OperatorName, ")");