コード例 #1
0
 /// <summary>
 /// Return the HashCode of this object.
 /// </summary>
 /// <returns>The HashCode of this object.</returns>
 public override Int32 GetHashCode()
 {
     unchecked
     {
         return(StationXMLId.GetHashCode());
     }
 }
コード例 #2
0
        public void Check()
        {
            if (_StationId.HasValue)
            {
                return;
            }

            EVSE_Id __EVSEId;

            WWCP.ChargingStation_Id __StationId;


            // 1st: Try to use the given ChargingStationId from the XML...
            if (WWCP.ChargingStation_Id.TryParse(StationXMLId, out __StationId))
            {
                _StationId = __StationId;
            }

            else if (EVSE_Id.TryParse(StationXMLId, out __EVSEId))
            {
                _StationId = WWCP.ChargingStation_Id.Parse(WWCP.ChargingStation_Id.Parse(__EVSEId.OperatorId.ToWWCP().Value, __EVSEId.Suffix).ToString());
            }


            else if (StationXMLId.StartsWith(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.DIN), StringComparison.Ordinal))
            {
                if (WWCP.ChargingStation_Id.TryParse(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.DIN) +
                                                     "S" +
                                                     StationXMLId.Substring(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.DIN).Length + 1),

                                                     out __StationId))
                {
                    _StationId = __StationId;
                }
            }

            else if (StationXMLId.StartsWith(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.ISO), StringComparison.Ordinal))
            {
                if (WWCP.ChargingStation_Id.TryParse(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.ISO) +
                                                     "S" +
                                                     StationXMLId.Substring(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.ISO).Length + 1),

                                                     out __StationId))
                {
                    _StationId = __StationId;
                }
            }

            else if (StationXMLId.StartsWith(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.ISO_STAR), StringComparison.Ordinal))
            {
                if (WWCP.ChargingStation_Id.TryParse(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.ISO_STAR) +
                                                     "S" +
                                                     StationXMLId.Substring(_EVSEIds[0].OperatorId.ToWWCP().Value.ToString(WWCP.OperatorIdFormats.ISO_STAR).Length + 2),

                                                     out __StationId))
                {
                    _StationId = __StationId;
                }
            }


            // 2nd:  Try to use a modified StationXML Id...
            if (!_StationId.HasValue && StationXMLId.IsNotNullOrEmpty())
            {
                _StationId = WWCP.ChargingStation_Id.Parse(_EVSEIds[0].OperatorId.ToWWCP().Value,
                                                           InvalidCharactersRegEx.Replace(MappedCharactersRegEx.Replace(StationXMLId.ToUpper(), "*"), "").SubstringMax(50));
            }


            // 3rd: Try to use the given EVSE Ids to find a common prefix...
            if (!_StationId.HasValue && StationXMLId.IsNullOrEmpty())
            {
                _StationId = WWCP.ChargingStation_Id.Create(_EVSEIds.Select(evse => evse.ToWWCP().Value));
            }


            if (!_StationId.HasValue)
            {
            }
        }