/// <summary> /// Create an e-mobility roaming provider. /// </summary> /// <param name="Id">The unique identification of the roaming provider.</param> /// <param name="Name">The offical (multi-language) name of the roaming provider. /// <param name="RoamingNetwork">The associated roaming network.</param> /// <param name="OperatorRoamingService">The attached local or remote EVSE operator roaming service.</param> /// <param name="eMobilityRoamingService">The attached local or remote e-mobility roaming service.</param> internal EMPRoamingProvider(RoamingProvider_Id Id, I18NString Name, RoamingNetwork RoamingNetwork, IeMobilityRoamingService eMobilityRoamingService) : base(Id, Name, RoamingNetwork) { #region Initial Checks if (eMobilityRoamingService == null) { throw new ArgumentNullException(nameof(eMobilityRoamingService), "The given e-mobility roaming service must not be null!"); } #endregion this._eMobilityRoamingService = eMobilityRoamingService; #region Link AuthorizeStart/-Stop and SendCDR to the roaming network this.OnAuthorizeStartEVSE += (Timestamp, CancellationToken, EventTrackingId, OperatorId, AuthToken, EVSEId, ChargingProductId, SessionId, QueryTimeout) => RoamingNetwork.AuthorizeStart(Timestamp, CancellationToken, EventTrackingId, OperatorId, AuthToken, EVSEId, ChargingProductId, SessionId, QueryTimeout); this.OnAuthorizeStopEVSE += (Timestamp, CancellationToken, EventTrackingId, OperatorId, EVSEId, SessionId, AuthToken, QueryTimeout) => RoamingNetwork.AuthorizeStop(Timestamp, CancellationToken, EventTrackingId, OperatorId, SessionId, AuthToken, EVSEId, QueryTimeout); this.OnChargeDetailRecord += (Timestamp, CancellationToken, EventTrackingId, ChargeDetailRecord, QueryTimeout) => RoamingNetwork.SendChargeDetailRecord(Timestamp, CancellationToken, EventTrackingId, ChargeDetailRecord, QueryTimeout); #endregion }
public RoamingProviderAlreadyExists(RoamingProvider_Id RoamingProvider_Id, RoamingNetwork_Id RoamingNetwork_Id) : base("The given roaming provider identification '" + RoamingProvider_Id + "' already exists within the given '" + RoamingNetwork_Id + "' roaming network!") { }