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