/// <summary> /// Create a new abstract authorize stop result. /// </summary> /// <param name="AuthorizatorId">The identification of the authorizing entity.</param> /// <param name="Result">The authorize start result type.</param> /// <param name="SessionId">The optional charging session identification, when the authorize start operation was successful.</param> /// /// <param name="ProviderId">An optional identification of the e-mobility provider.</param> /// <param name="Description">An optional description of the auth start result.</param> /// <param name="AdditionalInfo">An optional additional message.</param> /// <param name="Runtime">The runtime of the request.</param> protected AAuthStopResult(IId AuthorizatorId, T Result, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, String Description = null, String AdditionalInfo = null, TimeSpan?Runtime = null) { #region Initial checks if (AuthorizatorId == null) { throw new ArgumentNullException(nameof(AuthorizatorId), "The given identification of the authorizator must not be null!"); } #endregion this.AuthorizatorId = AuthorizatorId; this.Result = Result; this.SessionId = SessionId; this.ProviderId = ProviderId ?? new eMobilityProvider_Id?(); this.Description = Description; this.AdditionalInfo = AdditionalInfo; this.Runtime = Runtime; }
Reserve(DateTime?StartTime = null, TimeSpan?Duration = null, ChargingReservation_Id?ReservationId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, ChargingProduct ChargingProduct = null, IEnumerable <Auth_Token> AuthTokens = null, IEnumerable <eMobilityAccount_Id> eMAIds = null, IEnumerable <UInt32> PINs = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) => Reserve(ChargingLocation.FromEVSEId(Id), ChargingReservationLevel.EVSE, StartTime, Duration, ReservationId, ProviderId, RemoteAuthentication, ChargingProduct, AuthTokens, eMAIds, PINs, Timestamp, CancellationToken, EventTrackingId, RequestTimeout);
RemoteStop(ChargingSession_Id SessionId, ReservationHandling?ReservationHandling = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { if (_ANetworkChargingStation == null) { return(RemoteStopResult.OutOfService(SessionId)); } return(await _ANetworkChargingStation. RemoteStop(SessionId, ReservationHandling, ProviderId, RemoteAuthentication, Timestamp, CancellationToken, EventTrackingId, RequestTimeout)); }
RemoteStart(ChargingLocation ChargingLocation, ChargingProduct ChargingProduct = null, ChargingReservation_Id?ReservationId = null, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { if (_ANetworkChargingStation == null) { return(RemoteStartResult.OutOfService); } return(await _ANetworkChargingStation. RemoteStart(ChargingLocation.FromEVSEId(Id), ChargingProduct, ReservationId, SessionId, ProviderId, RemoteAuthentication, Timestamp, CancellationToken, EventTrackingId, RequestTimeout)); }
/// <summary> /// Create a parking reservation. /// </summary> public ParkingReservation(ParkingReservation_Id ReservationId, DateTime Timestamp, DateTime StartTime, TimeSpan Duration, DateTime EndTime, TimeSpan ConsumedReservationTime, ParkingReservationLevel ReservationLevel, eMobilityProvider_Id?ProviderId = null, eMobilityAccount_Id?eMAId = null, RoamingNetwork RoamingNetwork = null, ChargingPool_Id?ParkingPoolId = null, ChargingStation_Id?ParkingStationId = null, EVSE_Id?EVSEId = null, ParkingProduct_Id?ParkingProductId = null, IEnumerable <Auth_Token> AuthTokens = null, IEnumerable <eMobilityAccount_Id> eMAIds = null, IEnumerable <UInt32> PINs = null) { #region Initial checks if (ReservationId == null) { throw new ArgumentNullException(nameof(ReservationId), "The given parking reservation identification must not be null!"); } #endregion this._ReservationId = ReservationId; this._Timestamp = Timestamp.ToUniversalTime(); this._StartTime = StartTime.ToUniversalTime(); this._Duration = Duration; this._EndTime = StartTime.ToUniversalTime() + Duration; this._ConsumedReservationTime = ConsumedReservationTime; this._ReservationLevel = ReservationLevel; this.ProviderId = ProviderId; this.eMAId = eMAId; this.RoamingNetwork = RoamingNetwork; this.ParkingPoolId = ParkingPoolId; this.ParkingStationId = ParkingStationId; this.EVSEId = EVSEId; this.ParkingProductId = ParkingProductId; this._AuthTokens = AuthTokens != null ? new HashSet <Auth_Token>(AuthTokens) : new HashSet <Auth_Token>(); this._eMAIds = eMAIds != null ? new HashSet <eMobilityAccount_Id> (eMAIds) : new HashSet <eMobilityAccount_Id>(); this._PINs = PINs != null ? new HashSet <UInt32> (PINs) : new HashSet <UInt32>(); }
RemoteStop(ChargingSession_Id SessionId, ReservationHandling?ReservationHandling = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { return(Task.FromResult(RemoteStopResult.OutOfService(SessionId))); }
RemoteStart(ChargingLocation ChargingLocation, ChargingProduct ChargingProduct = null, ChargingReservation_Id?ReservationId = null, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { return(Task.FromResult(RemoteStartResult.OutOfService)); }
/// <summary> /// Create a charging reservation. /// </summary> public ChargingReservation(ChargingReservation_Id Id, DateTime Timestamp, DateTime StartTime, TimeSpan Duration, DateTime EndTime, TimeSpan ConsumedReservationTime, ChargingReservationLevel ReservationLevel, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication StartAuthentication = null, RoamingNetwork_Id?RoamingNetworkId = null, ChargingStationOperator_Id?ChargingStationOperatorId = null, ChargingPool_Id?ChargingPoolId = null, ChargingStation_Id?ChargingStationId = null, EVSE_Id?EVSEId = null, ChargingProduct ChargingProduct = null, IEnumerable <Auth_Token> AuthTokens = null, IEnumerable <eMobilityAccount_Id> eMAIds = null, IEnumerable <UInt32> PINs = null, IEnumerable <ChargingReservation> SubReservations = null) { this.Id = Id; this.Timestamp = Timestamp.ToUniversalTime(); this.StartTime = StartTime.ToUniversalTime(); this.Duration = Duration; this.EndTime = StartTime.ToUniversalTime() + Duration; this.ConsumedReservationTime = ConsumedReservationTime; this.ReservationLevel = ReservationLevel; this.ProviderId = ProviderId; this.StartAuthentication = StartAuthentication; this.RoamingNetworkId = RoamingNetworkId; this.ChargingStationOperatorId = ChargingStationOperatorId; this.ChargingPoolId = ChargingPoolId; this.ChargingStationId = ChargingStationId; this.EVSEId = EVSEId; this.ChargingProduct = ChargingProduct; this._AuthTokens = AuthTokens != null ? new HashSet <Auth_Token> (AuthTokens) : new HashSet <Auth_Token>(); this._eMAIds = eMAIds != null ? new HashSet <eMobilityAccount_Id>(eMAIds) : new HashSet <eMobilityAccount_Id>(); this._PINs = PINs != null ? new HashSet <UInt32> (PINs) : new HashSet <UInt32>(); this._SubReservations = SubReservations != null ? new HashSet <ChargingReservation>(SubReservations) : new HashSet <ChargingReservation>(); }
Blocked(IId AuthorizatorId, IReceiveAuthorizeStartStop IReceiveAuthorizeStartStop, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, String Description = null, String AdditionalInfo = null, TimeSpan?Runtime = null) => new AuthStartEVSEResult(AuthorizatorId, IReceiveAuthorizeStartStop, AuthStartEVSEResultType.Blocked, SessionId, ProviderId: ProviderId, Description: Description, AdditionalInfo: AdditionalInfo, Runtime: Runtime);
NotAuthorized(IId AuthorizatorId, ISendAuthorizeStartStop ISendAuthorizeStartStop, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, String Description = "NotAuthorized", String AdditionalInfo = null, TimeSpan?Runtime = null) => new AuthStopChargingPoolResult(AuthorizatorId, ISendAuthorizeStartStop, AuthStopChargingPoolResultType.NotAuthorized, SessionId, ProviderId, Description, AdditionalInfo, Runtime: Runtime);
/// <summary> /// Create a new abstract authorize start result. /// </summary> /// <param name="AuthorizatorId">The identification of the authorizing entity.</param> /// <param name="IReceiveAuthorizeStartStop">The entity giving an authorization.</param> /// <param name="Result">The authorize start result type.</param> /// <param name="SessionId">The optional charging session identification, when the authorize start operation was successful.</param> /// <param name="ContractId">An optional contract identification.</param> /// <param name="PrintedNumber">An optional printed number.</param> /// <param name="ExpiryDate">The timestamp when this authorization expires.</param> /// <param name="MaxkW">The optional maximum allowed charging current.</param> /// <param name="MaxkWh">The optional maximum allowed charging energy.</param> /// <param name="MaxDuration">The optional maximum allowed charging duration.</param> /// <param name="ChargingTariffs">Optional charging tariff information.</param> /// <param name="ListOfAuthStopTokens">An optional enumeration of authorize stop tokens.</param> /// <param name="ListOfAuthStopPINs">An optional enumeration of authorize stop PINs.</param> /// /// <param name="ProviderId">An optional identification of the e-mobility provider.</param> /// <param name="Description">An optional description of the auth start result.</param> /// <param name="AdditionalInfo">An optional additional message.</param> /// <param name="NumberOfRetries">Number of transmission retries.</param> /// <param name="Runtime">The runtime of the request.</param> protected AAuthStartResult(IId AuthorizatorId, IReceiveAuthorizeStartStop IReceiveAuthorizeStartStop, T Result, ChargingSession_Id?SessionId = null, String ContractId = null, String PrintedNumber = null, DateTime?ExpiryDate = null, Single?MaxkW = null, Single?MaxkWh = null, TimeSpan?MaxDuration = null, IEnumerable <ChargingTariff> ChargingTariffs = null, IEnumerable <Auth_Token> ListOfAuthStopTokens = null, IEnumerable <UInt32> ListOfAuthStopPINs = null, eMobilityProvider_Id?ProviderId = null, String Description = null, String AdditionalInfo = null, Byte NumberOfRetries = 0, TimeSpan?Runtime = null) : this(AuthorizatorId, Result, SessionId, ContractId, PrintedNumber, ExpiryDate, MaxkW, MaxkWh, MaxDuration, ChargingTariffs, ListOfAuthStopTokens, ListOfAuthStopPINs, ProviderId, Description, AdditionalInfo, NumberOfRetries, Runtime) { this.IReceiveAuthorizeStartStop = IReceiveAuthorizeStartStop; }
Reserve(ChargingLocation ChargingLocation, ChargingReservationLevel ReservationLevel = ChargingReservationLevel.EVSE, DateTime?StartTime = null, TimeSpan?Duration = null, ChargingReservation_Id?ReservationId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, ChargingProduct ChargingProduct = null, IEnumerable <Auth_Token> AuthTokens = null, IEnumerable <eMobilityAccount_Id> eMAIds = null, IEnumerable <UInt32> PINs = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { return(Task.FromResult(ReservationResult.OutOfService)); }
/// <summary> /// Create a new abstract authorize stop result. /// </summary> /// <param name="AuthorizatorId">The identification of the authorizing entity.</param> /// <param name="IReceiveAuthorizeStartStop">The entity giving an authorization.</param> /// <param name="Result">The authorize start result type.</param> /// <param name="SessionId">The optional charging session identification, when the authorize start operation was successful.</param> /// /// <param name="ProviderId">An optional identification of the e-mobility provider.</param> /// <param name="Description">An optional description of the auth start result.</param> /// <param name="AdditionalInfo">An optional additional message.</param> /// <param name="Runtime">The runtime of the request.</param> protected AAuthStopResult(IId AuthorizatorId, IReceiveAuthorizeStartStop IReceiveAuthorizeStartStop, T Result, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, String Description = null, String AdditionalInfo = null, TimeSpan?Runtime = null) : this(AuthorizatorId, Result, SessionId, ProviderId, Description, AdditionalInfo, Runtime) { this.IReceiveAuthorizeStartStop = IReceiveAuthorizeStartStop; }
Reserve(ChargingLocation ChargingLocation, ChargingReservationLevel ReservationLevel = ChargingReservationLevel.EVSE, DateTime?StartTime = null, TimeSpan?Duration = null, ChargingReservation_Id?ReservationId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, ChargingProduct ChargingProduct = null, IEnumerable <Auth_Token> AuthTokens = null, IEnumerable <eMobilityAccount_Id> eMAIds = null, IEnumerable <UInt32> PINs = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { if (_ANetworkChargingStation == null) { return(ReservationResult.OutOfService); } return(await _ANetworkChargingStation. Reserve(ChargingLocation, ReservationLevel, StartTime, Duration, ReservationId, ProviderId, RemoteAuthentication, ChargingProduct, AuthTokens, eMAIds, PINs, Timestamp, CancellationToken, EventTrackingId, RequestTimeout)); }
/// <summary> /// Create a new authorize stop result. /// </summary> /// <param name="AuthorizatorId">The identification of the authorizing entity.</param> /// <param name="IReceiveAuthorizeStartStop">The entity giving an authorization.</param> /// <param name="Result">The authorize stop result type.</param> /// <param name="SessionId">The optional charging session identification.</param> /// /// <param name="ProviderId">An optional identification of the e-mobility provider.</param> /// <param name="Description">An optional description of the auth start result.</param> /// <param name="AdditionalInfo">An optional additional message.</param> /// <param name="Runtime">The runtime of the request.</param> private AuthStopChargingPoolResult(IId AuthorizatorId, IReceiveAuthorizeStartStop IReceiveAuthorizeStartStop, AuthStopChargingPoolResultType Result, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, String Description = null, String AdditionalInfo = null, TimeSpan?Runtime = null) : base(AuthorizatorId, IReceiveAuthorizeStartStop, Result, SessionId, ProviderId, Description, AdditionalInfo, Runtime) { }
/// <summary> /// Create a new abstract authorize start result. /// </summary> /// <param name="AuthorizatorId">The identification of the authorizing entity.</param> /// <param name="Result">The authorize start result type.</param> /// <param name="SessionId">The optional charging session identification, when the authorize start operation was successful.</param> /// <param name="ContractId">An optional contract identification.</param> /// <param name="PrintedNumber">An optional printed number.</param> /// <param name="ExpiryDate">The timestamp when this authorization expires.</param> /// <param name="MaxkW">The optional maximum allowed charging current.</param> /// <param name="MaxkWh">The optional maximum allowed charging energy.</param> /// <param name="MaxDuration">The optional maximum allowed charging duration.</param> /// <param name="ChargingTariffs">Optional charging tariff information.</param> /// <param name="ListOfAuthStopTokens">An optional enumeration of authorize stop tokens.</param> /// <param name="ListOfAuthStopPINs">An optional enumeration of authorize stop PINs.</param> /// /// <param name="ProviderId">An optional identification of the e-mobility provider.</param> /// <param name="Description">An optional description of the auth start result.</param> /// <param name="AdditionalInfo">An optional additional message.</param> /// <param name="NumberOfRetries">Number of transmission retries.</param> /// <param name="Runtime">The runtime of the request.</param> private AAuthStartResult(IId AuthorizatorId, T Result, ChargingSession_Id?SessionId = null, String ContractId = null, String PrintedNumber = null, DateTime?ExpiryDate = null, Single?MaxkW = null, Single?MaxkWh = null, TimeSpan?MaxDuration = null, IEnumerable <ChargingTariff> ChargingTariffs = null, IEnumerable <Auth_Token> ListOfAuthStopTokens = null, IEnumerable <UInt32> ListOfAuthStopPINs = null, eMobilityProvider_Id?ProviderId = null, String Description = null, String AdditionalInfo = null, Byte NumberOfRetries = 0, TimeSpan?Runtime = null) { this.AuthorizatorId = AuthorizatorId ?? throw new ArgumentNullException(nameof(AuthorizatorId), "The given identification of the authorizator must not be null!"); this.ISendAuthorizeStartStop = ISendAuthorizeStartStop; this.Result = Result; this.SessionId = SessionId; this.ContractId = ContractId; this.PrintedNumber = PrintedNumber; this.ExpiryDate = ExpiryDate; this.MaxkW = MaxkW; this.MaxkWh = MaxkWh; this.MaxDuration = MaxDuration; this.ChargingTariffs = ChargingTariffs; this.ListOfAuthStopTokens = ListOfAuthStopTokens; this.ListOfAuthStopPINs = ListOfAuthStopPINs; this.ProviderId = ProviderId ?? new eMobilityProvider_Id?(); this.Description = Description; this.AdditionalInfo = AdditionalInfo; this.NumberOfRetries = NumberOfRetries; this.Runtime = Runtime ?? TimeSpan.FromSeconds(0); }
Authorized(IId AuthorizatorId, ISendAuthorizeStartStop ISendAuthorizeStartStop, ChargingSession_Id?SessionId = null, String ContractId = null, String PrintedNumber = null, DateTime?ExpiryDate = null, Single?MaxkW = null, Single?MaxkWh = null, TimeSpan?MaxDuration = null, IEnumerable <ChargingTariff> ChargingTariffs = null, IEnumerable <Auth_Token> ListOfAuthStopTokens = null, IEnumerable <UInt32> ListOfAuthStopPINs = null, eMobilityProvider_Id?ProviderId = null, String Description = "Success", String AdditionalInfo = null, Byte NumberOfRetries = 0, TimeSpan?Runtime = null) => new AuthStartEVSEResult(AuthorizatorId, ISendAuthorizeStartStop, AuthStartEVSEResultType.Authorized, SessionId, ContractId, PrintedNumber, ExpiryDate, MaxkW, MaxkWh, MaxDuration, ChargingTariffs, ListOfAuthStopTokens, ListOfAuthStopPINs, ProviderId, Description, AdditionalInfo, NumberOfRetries, Runtime);
RemoteStart(ChargingProduct ChargingProduct = null, ChargingReservation_Id?ReservationId = null, ChargingSession_Id?SessionId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) => RemoteStart(ChargingLocation.FromEVSEId(Id), ChargingProduct, ReservationId, SessionId, ProviderId, RemoteAuthentication, Timestamp, CancellationToken, EventTrackingId, RequestTimeout);
CreateOICPv2_3_CPORoamingProvider(this RoamingNetwork RoamingNetwork, CSORoamingProvider_Id Id, I18NString Name, OICPv2_3.EMP.EMPRoaming EMPRoaming, OICPv2_3.EMP.EVSEDataRecord2EVSEDelegate EVSEDataRecord2EVSE = null, Boolean PullEVSEData_IsDisabled = false, TimeSpan?PullEVSEData_InitialDelay = null, TimeSpan?PullEVSEData_Every = null, UInt32?PullEVSEData_RequestPageSize = null, TimeSpan?PullEVSEData_RequestTimeout = null, IEnumerable <OICPv2_3.Operator_Id> PullEVSEData_OperatorIdFilter = null, IEnumerable <Country> PullEVSEData_CountryCodeFilter = null, IEnumerable <OICPv2_3.AccessibilityTypes> PullEVSEData_AccessibilityFilter = null, IEnumerable <OICPv2_3.AuthenticationModes> PullEVSEData_AuthenticationModeFilter = null, IEnumerable <OICPv2_3.CalibrationLawDataAvailabilities> PullEVSEData_CalibrationLawDataAvailabilityFilter = null, Boolean?PullEVSEData_RenewableEnergyFilter = null, Boolean?PullEVSEData_IsHubjectCompatibleFilter = null, Boolean?PullEVSEData_IsOpen24HoursFilter = null, Boolean PullEVSEStatus_IsDisabled = false, TimeSpan?PullEVSEStatus_InitialDelay = null, TimeSpan?PullEVSEStatus_Every = null, TimeSpan?PullEVSEStatus_RequestTimeout = null, Boolean GetChargeDetailRecords_IsDisabled = false, TimeSpan?GetChargeDetailRecords_InitialDelay = null, TimeSpan?GetChargeDetailRecords_Every = null, TimeSpan?GetChargeDetailRecords_RequestTimeout = null, eMobilityProvider DefaultProvider = null, eMobilityProvider_Id?DefaultProviderId = null, GeoCoordinate?DefaultSearchCenter = null, UInt64?DefaultDistanceKM = null, Action <OICPv2_3.EMP.WWCPCSOAdapter> OICPConfigurator = null, Action <ICSORoamingProvider> Configurator = null) { #region Initial checks if (RoamingNetwork is null) { throw new ArgumentNullException(nameof(RoamingNetwork), "The given roaming network must not be null!"); } if (Name.IsNullOrEmpty()) { throw new ArgumentNullException(nameof(Name), "The given roaming provider name must not be null or empty!"); } if (EMPRoaming is null) { throw new ArgumentNullException(nameof(EMPRoaming), "The given EMP Roaming must not be null!"); } #endregion var newRoamingProvider = new OICPv2_3.EMP.WWCPCSOAdapter(Id, Name, RoamingNetwork, EMPRoaming, EVSEDataRecord2EVSE, PullEVSEData_IsDisabled, PullEVSEData_InitialDelay, PullEVSEData_Every, PullEVSEData_RequestPageSize, PullEVSEData_RequestTimeout, PullEVSEData_OperatorIdFilter, PullEVSEData_CountryCodeFilter, PullEVSEData_AccessibilityFilter, PullEVSEData_AuthenticationModeFilter, PullEVSEData_CalibrationLawDataAvailabilityFilter, PullEVSEData_RenewableEnergyFilter, PullEVSEData_IsHubjectCompatibleFilter, PullEVSEData_IsOpen24HoursFilter, PullEVSEStatus_IsDisabled, PullEVSEStatus_InitialDelay, PullEVSEStatus_Every, PullEVSEStatus_RequestTimeout, GetChargeDetailRecords_IsDisabled, GetChargeDetailRecords_InitialDelay, GetChargeDetailRecords_Every, GetChargeDetailRecords_RequestTimeout, DefaultProvider, DefaultProviderId, DefaultSearchCenter, DefaultDistanceKM); OICPConfigurator?.Invoke(newRoamingProvider); return(RoamingNetwork. CreateNewRoamingProvider(newRoamingProvider, Configurator) as OICPv2_3.EMP.WWCPCSOAdapter); }
public Task <POIDataPull <org.GraphDefined.WWCP.EVSE> > PullEVSEData(DateTime?LastCall = null, GeoCoordinate?SearchCenter = null, float DistanceKM = 0, eMobilityProvider_Id?ProviderId = null, IEnumerable <ChargingStationOperator_Id> OperatorIdFilter = null, IEnumerable <Country> CountryCodeFilter = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { throw new NotImplementedException(); }
public static Provider_Id?ToEMIP(this eMobilityProvider_Id?ProviderId) => ProviderId.HasValue ? Provider_Id.Parse(ProviderId.ToString()) : new Provider_Id?();
/// <summary> /// Create a charge detail record for the given charging session (identification). /// </summary> /// <param name="SessionId">The unique charging session identification.</param> /// <param name="SessionTime">The timestamps when the charging session started and ended.</param> /// <param name="Duration">The duration of the charging session, whenever it is more than the time span between its start- and endtime, e.g. caused by a tariff granularity of 15 minutes.</param> /// /// <param name="EVSE">The EVSE used for charging.</param> /// <param name="EVSEId">The identification of the EVSE used for charging.</param> /// <param name="ChargingStation">The charging station of the charging station used for charging.</param> /// <param name="ChargingStationId">The identification of the charging station used for charging.</param> /// <param name="ChargingPool">The charging pool of the charging pool used for charging.</param> /// <param name="ChargingPoolId">The identification of the charging pool used for charging.</param> /// <param name="ChargingStationOperator">The charging station operator used for charging.</param> /// <param name="ChargingStationOperatorId">The identification of the charging station operator used for charging.</param> /// <param name="ChargingProduct">The consumed charging product.</param> /// <param name="ChargingPrice">The charging price.</param> /// /// <param name="AuthenticationStart">The authentication used for starting this charging process.</param> /// <param name="AuthenticationStop">The authentication used for stopping this charging process.</param> /// <param name="ProviderIdStart">The identification of the e-mobility provider used for starting this charging process.</param> /// <param name="ProviderIdStop">The identification of the e-mobility provider used for stopping this charging process.</param> /// /// <param name="Reservation">The optional charging reservation used before charging.</param> /// <param name="ReservationId">The optional charging reservation identification used before charging.</param> /// <param name="ReservationTime">Optional timestamps when the reservation started and ended.</param> /// /// <param name="ParkingSpaceId">The optional identification of the parkging space.</param> /// <param name="ParkingTime">Optional timestamps when the parking started and ended.</param> /// <param name="ParkingFee">The optional fee for parking.</param> /// /// <param name="EnergyMeterId">An optional unique identification of the energy meter.</param> /// <param name="EnergyMeteringValues">An optional enumeration of intermediate energy metering values.</param> /// /// <param name="CustomData">An optional dictionary of customer-specific data.</param> public ChargeDetailRecord(ChargingSession_Id SessionId, StartEndDateTime?SessionTime, TimeSpan?Duration = null, EVSE EVSE = null, EVSE_Id?EVSEId = null, ChargingStation ChargingStation = null, ChargingStation_Id?ChargingStationId = null, ChargingPool ChargingPool = null, ChargingPool_Id?ChargingPoolId = null, ChargingStationOperator ChargingStationOperator = null, ChargingStationOperator_Id?ChargingStationOperatorId = null, ChargingProduct ChargingProduct = null, Decimal?ChargingPrice = null, AAuthentication AuthenticationStart = null, AAuthentication AuthenticationStop = null, eMobilityProvider_Id?ProviderIdStart = null, eMobilityProvider_Id?ProviderIdStop = null, ChargingReservation Reservation = null, ChargingReservation_Id?ReservationId = null, StartEndDateTime?ReservationTime = null, ParkingSpace_Id?ParkingSpaceId = null, StartEndDateTime?ParkingTime = null, Decimal?ParkingFee = null, EnergyMeter_Id?EnergyMeterId = null, IEnumerable <Timestamped <Single> > EnergyMeteringValues = null, IEnumerable <SignedMeteringValue> SignedMeteringValues = null, IEnumerable <String> Signatures = null, IReadOnlyDictionary <String, Object> CustomData = null) : base(CustomData) { this.SessionId = SessionId; this.SessionTime = SessionTime; this.Duration = Duration; this.EVSE = EVSE; this.EVSEId = EVSEId ?? EVSE?.Id; this.ChargingStation = ChargingStation; this.ChargingStationId = ChargingStationId ?? ChargingStation?.Id; this.ChargingPool = ChargingPool; this.ChargingPoolId = ChargingPoolId ?? ChargingPool?.Id; this.ChargingStationOperator = ChargingStationOperator; this.ChargingStationOperatorId = ChargingStationOperatorId ?? ChargingStationOperator?.Id; this.ChargingProduct = ChargingProduct; this.ChargingPrice = ChargingPrice; this.IdentificationStart = AuthenticationStart; this.IdentificationStop = AuthenticationStop; this.ProviderIdStart = ProviderIdStart; this.ProviderIdStop = ProviderIdStop; this.Reservation = Reservation; this.ReservationId = ReservationId ?? Reservation?.Id; this.ReservationTime = ReservationTime; this.ParkingSpaceId = ParkingSpaceId; this.ParkingTime = ParkingTime; this.ParkingFee = ParkingFee; this.EnergyMeterId = EnergyMeterId; this.EnergyMeteringValues = EnergyMeteringValues ?? new Timestamped <Single> [0]; this.SignedMeteringValues = SignedMeteringValues ?? new SignedMeteringValue[0]; this._Signatures = Signatures.SafeAny() ? new HashSet <String>(Signatures) : new HashSet <String>(); if (SignedMeteringValues.SafeAny() && !EnergyMeteringValues.SafeAny()) { this.EnergyMeteringValues = SignedMeteringValues.Select(svalue => new Timestamped <Single>(svalue.Timestamp, (Single)svalue.MeterValue)); } }
public Task <StatusPull <EVSEStatus> > PullEVSEStatus(DateTime?LastCall = null, GeoCoordinate?SearchCenter = null, float DistanceKM = 0, EVSEStatusTypes?EVSEStatusFilter = null, eMobilityProvider_Id?ProviderId = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { throw new NotImplementedException(); }
public Task <IEnumerable <ChargeDetailRecord> > GetChargeDetailRecords(DateTime From, DateTime?To = null, eMobilityProvider_Id?ProviderId = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { throw new NotImplementedException(); }
public Task <ReservationResult> Reserve(ChargingLocation ChargingLocation, ChargingReservationLevel ReservationLevel = ChargingReservationLevel.EVSE, DateTime?StartTime = null, TimeSpan?Duration = null, ChargingReservation_Id?ReservationId = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, ChargingProduct ChargingProduct = null, IEnumerable <Auth_Token> AuthTokens = null, IEnumerable <eMobilityAccount_Id> eMAIds = null, IEnumerable <uint> PINs = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { throw new NotImplementedException(); }
public Task <RemoteStopResult> RemoteStop(ChargingSession_Id SessionId, ReservationHandling?ReservationHandling = null, eMobilityProvider_Id?ProviderId = null, RemoteAuthentication RemoteAuthentication = null, DateTime?Timestamp = null, CancellationToken?CancellationToken = null, EventTracking_Id EventTrackingId = null, TimeSpan?RequestTimeout = null) { throw new NotImplementedException(); }