Example #1
0
        /// <summary>
        /// Return a XML representation of this object.
        /// </summary>
        /// <param name="OperatorEVSEDataXName">The OperatorEVSEData XML name to use.</param>
        /// <param name="CustomOperatorEVSEDataSerializer">A delegate to serialize custom OperatorEVSEData XML elements.</param>
        /// <param name="EVSEDataRecordXName">The EVSEDataRecord XML name to use.</param>
        /// <param name="IncludeEVSEDataRecordMetadata">Include EVSEDataRecord deltaType and lastUpdate meta data.</param>
        /// <param name="CustomEVSEDataRecordSerializer">A delegate to serialize custom EVSEDataRecord XML elements.</param>
        /// <param name="CustomAddressSerializer">A delegate to serialize custom Address XML elements.</param>
        /// <param name="CustomChargingFacilitySerializer">A delegate to serialize custom ChargingFacility XML elements.</param>
        public XElement ToXML(XName OperatorEVSEDataXName = null,
                              CustomXMLSerializerDelegate <OperatorEVSEData> CustomOperatorEVSEDataSerializer = null,
                              XName EVSEDataRecordXName             = null,
                              Boolean IncludeEVSEDataRecordMetadata = true,
                              CustomXMLSerializerDelegate <EVSEDataRecord> CustomEVSEDataRecordSerializer = null,
                              CustomXMLSerializerDelegate <Address> CustomAddressSerializer = null,
                              CustomXMLSerializerDelegate <ChargingFacility> CustomChargingFacilitySerializer = null)

        {
            var xml = new XElement(OperatorEVSEDataXName ?? OICPNS.EVSEData + "OperatorEvseData",

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

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

                                   EVSEDataRecords.Any()
                               ? EVSEDataRecords.SafeSelect(evsedatarecord => evsedatarecord.ToXML(EVSEDataRecordXName,
                                                                                                   IncludeEVSEDataRecordMetadata,
                                                                                                   CustomEVSEDataRecordSerializer,
                                                                                                   CustomAddressSerializer,
                                                                                                   CustomChargingFacilitySerializer))
                               : null

                                   );

            return(CustomOperatorEVSEDataSerializer != null
                       ? CustomOperatorEVSEDataSerializer(this, xml)
                       : xml);
        }
Example #2
0
        /// <summary>
        /// Return a JSON representation of this object.
        /// </summary>
        /// <param name="CustomOperatorEVSEDataSerializer">A delegate to serialize custom operator EVSE data JSON objects.</param>
        /// <param name="CustomEVSEDataRecordSerializer">A delegate to serialize custom EVSE data record JSON objects.</param>
        /// <param name="CustomAddressSerializer">A delegate to serialize custom address JSON objects.</param>
        /// <param name="CustomChargingFacilitySerializer">A delegate to serialize custom charging facility JSON objects.</param>
        /// <param name="CustomGeoCoordinatesSerializer">A delegate to serialize custom geo coordinates JSON objects.</param>
        /// <param name="CustomEnergySourceSerializer">A delegate to serialize custom time period JSON objects.</param>
        /// <param name="CustomEnvironmentalImpactSerializer">A delegate to serialize custom time period JSON objects.</param>
        /// <param name="CustomOpeningTimesSerializer">A delegate to serialize custom opening time JSON objects.</param>
        public JObject ToJSON(CustomJObjectSerializerDelegate <OperatorEVSEData> CustomOperatorEVSEDataSerializer = null,
                              CustomJObjectSerializerDelegate <EVSEDataRecord> CustomEVSEDataRecordSerializer     = null,
                              CustomJObjectSerializerDelegate <Address> CustomAddressSerializer = null,
                              CustomJObjectSerializerDelegate <ChargingFacility> CustomChargingFacilitySerializer       = null,
                              CustomJObjectSerializerDelegate <GeoCoordinates> CustomGeoCoordinatesSerializer           = null,
                              CustomJObjectSerializerDelegate <EnergySource> CustomEnergySourceSerializer               = null,
                              CustomJObjectSerializerDelegate <EnvironmentalImpact> CustomEnvironmentalImpactSerializer = null,
                              CustomJObjectSerializerDelegate <OpeningTime> CustomOpeningTimesSerializer = null)
        {
            var JSON = JSONObject.Create(

                new JProperty("EvseDataRecord", new JArray(EVSEDataRecords.Select(evseDataRecord => evseDataRecord.ToJSON(CustomEVSEDataRecordSerializer,
                                                                                                                          CustomAddressSerializer,
                                                                                                                          CustomChargingFacilitySerializer,
                                                                                                                          CustomGeoCoordinatesSerializer,
                                                                                                                          CustomEnergySourceSerializer,
                                                                                                                          CustomEnvironmentalImpactSerializer,
                                                                                                                          CustomOpeningTimesSerializer)))),
                new JProperty("OperatorID", OperatorId.ToString()),
                new JProperty("OperatorName", OperatorName),

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

                );

            return(CustomOperatorEVSEDataSerializer != null
                       ? CustomOperatorEVSEDataSerializer(this, JSON)
                       : JSON);
        }
Example #3
0
        /// <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 ^

                       (EVSEDataRecords.Any()
                            ? EVSEDataRecords.GetHashCode()
                            : 0));
            }
        }
Example #4
0
        /// <summary>
        /// Compares two operator EVSE datas for equality.
        /// </summary>
        /// <param name="OperatorEVSEData">A operator EVSE data to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public Boolean Equals(OperatorEVSEData OperatorEVSEData)
        {
            if ((Object)OperatorEVSEData == null)
            {
                return(false);
            }

            return(OperatorId.Equals(OperatorEVSEData.OperatorId) &&

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

                   ((!EVSEDataRecords.Any() && !OperatorEVSEData.EVSEDataRecords.Any()) ||
                    (EVSEDataRecords.Any() && OperatorEVSEData.EVSEDataRecords.Any() && EVSEDataRecords.Count().Equals(OperatorEVSEData.EVSEDataRecords.Count()))));
        }
Example #5
0
        /// <summary>
        /// Return a text-representation of this object.
        /// </summary>
        public override String ToString()

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

        => String.Concat(Action, " of ",
                         EVSEDataRecords.Count(), " EVSE data record(s)",
                         " (", OperatorId, OperatorName != null ? " / " + OperatorName : "", ")");