/// <summary>
        /// An exception thrown whenever an electric vehicle already exists within the given e-mobility station.
        /// </summary>
        /// <param name="eMobilityStation">The e-mobility station.</param>
        /// <param name="eVehicleId">The electric vehicle identification.</param>
        public eVehicleAlreadyExistsInStation(eMobilityStation eMobilityStation,
                                              eVehicle_Id eVehicleId)

            : base(eMobilityStation.Provider,
                   "The given electric vehicle identification '" + eVehicleId + "' already exists within the given '" + eMobilityStation.Id + "' e-mobility station!")

        {
        }
Beispiel #2
0
        /// <summary>
        /// Compares two e-mobility stations for equality.
        /// </summary>
        /// <param name="eMobilityStation">A e-mobility station to compare with.</param>
        /// <returns>True if both match; False otherwise.</returns>
        public Boolean Equals(eMobilityStation eMobilityStation)
        {
            if ((Object)eMobilityStation == null)
            {
                return(false);
            }

            return(Id.Equals(eMobilityStation.Id));
        }
Beispiel #3
0
        /// <summary>
        /// Compares two instances of this object.
        /// </summary>
        /// <param name="eMobilityStation">A e-mobility station object to compare with.</param>
        public Int32 CompareTo(eMobilityStation eMobilityStation)
        {
            if ((Object)eMobilityStation == null)
            {
                throw new ArgumentNullException("The given e-mobility station must not be null!");
            }

            return(Id.CompareTo(eMobilityStation.Id));
        }
Beispiel #4
0
        /// <summary>
        /// Create a new e-vehicle having the given identification.
        /// </summary>
        /// <param name="Id">The unique identification of the e-vehicle pool.</param>
        /// <param name="MaxAdminStatusListSize">The default size of the admin status list.</param>
        internal eVehicle(eVehicle_Id Id,
                          eMobilityStation Station,
                          Action <eVehicle> Configurator = null,
                          RemoteEVehicleCreatorDelegate RemoteEVehicleCreator = null,
                          eVehicleAdminStatusType AdminStatus = eVehicleAdminStatusType.Operational,
                          eVehicleStatusType Status           = eVehicleStatusType.Available,
                          UInt16 MaxAdminStatusListSize       = DefaultMaxAdminStatusListSize,
                          UInt16 MaxStatusListSize            = DefaultMaxStatusListSize)

            : this(Id,
                   Station.Provider,
                   Configurator,
                   RemoteEVehicleCreator,
                   AdminStatus,
                   Status,
                   MaxAdminStatusListSize,
                   MaxStatusListSize)

        {
            this.Station = Station;
        }
        /// <summary>
        /// Take a snapshot of the current e-mobility station admin status.
        /// </summary>
        /// <param name="eMobilityStation">An e-mobility station.</param>

        public static eMobilityStationAdminStatus Snapshot(eMobilityStation eMobilityStation)

        => new eMobilityStationAdminStatus(eMobilityStation.Id,
                                           eMobilityStation.AdminStatus.Value,
                                           eMobilityStation.AdminStatus.Timestamp);