/// <summary> /// Create a new roaming network admin status update. /// </summary> /// <param name="Id">The unique identification of the roaming network.</param> /// <param name="OldStatus">The old timestamped admin status of the roaming network.</param> /// <param name="NewStatus">The new timestamped admin status of the roaming network.</param> public RoamingNetworkAdminStatusUpdate(RoamingNetwork_Id Id, Timestamped <RoamingNetworkAdminStatusTypes> OldStatus, Timestamped <RoamingNetworkAdminStatusTypes> NewStatus) { this.Id = Id; this.OldStatus = OldStatus; this.NewStatus = NewStatus; }
/// <summary> /// Create a new roaming network status. /// </summary> /// <param name="Id">The unique identification of the roaming network.</param> /// <param name="Status">The current timestamped status of the roaming network.</param> /// <param name="CustomData">An optional dictionary of customer-specific data.</param> public RoamingNetworkStatus(RoamingNetwork_Id Id, Timestamped <RoamingNetworkStatusTypes> Status, IReadOnlyDictionary <String, Object> CustomData = null) : base(CustomData) { this.Id = Id; this.Status = Status; }
/// <summary> /// Create a new roaming network admin status. /// </summary> /// <param name="Id">The unique identification of the roaming network.</param> /// <param name="StatusSchedule">The timestamped admin status of the roaming network.</param> /// <param name="CustomData">An optional dictionary of customer-specific data.</param> public RoamingNetworkAdminStatusSchedule(RoamingNetwork_Id Id, StatusSchedule <RoamingNetworkAdminStatusTypes> StatusSchedule, IReadOnlyDictionary <String, Object> CustomData = null) : base(CustomData) { this.Id = Id; this.StatusSchedule = StatusSchedule; }
/// <summary> /// Return the roaming network identified by the given unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of a roaming network.</param> public RoamingNetwork GetRoamingNetwork(RoamingNetwork_Id RoamingNetworkId) { RoamingNetwork _RoamingNetwork = null; if (_RoamingNetworks.TryGetValue(RoamingNetworkId, out _RoamingNetwork)) { return(_RoamingNetwork); } return(null); }
/// <summary> /// Try to return the roaming network identified by the given unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of a roaming network.</param> /// <returns>True, when the roaming network was found; false else.</returns> public RoamingNetwork RemoveRoamingNetwork(RoamingNetwork_Id RoamingNetworkId) { RoamingNetwork _RoamingNetwork; if (_RoamingNetworks.TryRemove(RoamingNetworkId, out _RoamingNetwork)) { return(_RoamingNetwork); } return(null); }
public RedirectedChargingStations Add(ChargingStation_Id ChargingStationId, RoamingNetwork_Id RoamingNetwork_From, RoamingNetwork_Id RoamingNetwork_To) { if (!_RedirectedChargingStations.ContainsKey(ChargingStationId)) { _RedirectedChargingStations.Add(ChargingStationId, new Tuple <RoamingNetwork_Id, RoamingNetwork_Id>(RoamingNetwork_From, RoamingNetwork_To)); } return(this); }
/// <summary> /// Create and register a new roaming network having the given /// unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of the new roaming network.</param> /// <param name="Name">The multi-language name of the roaming network.</param> /// <param name="Description">A multilanguage description of the roaming networks object.</param> /// <param name="Configurator">An optional delegate to configure the new roaming network after its creation.</param> /// <param name="AdminStatus">The initial admin status of the roaming network.</param> /// <param name="Status">The initial status of the roaming network.</param> /// <param name="MaxAdminStatusListSize">The maximum number of entries in the admin status history.</param> /// <param name="MaxStatusListSize">The maximum number of entries in the status history.</param> /// <param name="ChargingStationSignatureGenerator">A delegate to sign a charging station.</param> /// <param name="ChargingPoolSignatureGenerator">A delegate to sign a charging pool.</param> /// <param name="ChargingStationOperatorSignatureGenerator">A delegate to sign a charging station operator.</param> public RoamingNetwork CreateNewRoamingNetwork(RoamingNetwork_Id RoamingNetworkId, I18NString Name, I18NString Description = null, Action <RoamingNetwork> Configurator = null, RoamingNetworkAdminStatusTypes AdminStatus = RoamingNetworkAdminStatusTypes.Operational, RoamingNetworkStatusTypes Status = RoamingNetworkStatusTypes.Available, UInt16 MaxAdminStatusListSize = RoamingNetwork.DefaultMaxAdminStatusListSize, UInt16 MaxStatusListSize = RoamingNetwork.DefaultMaxStatusListSize, ChargingStationSignatureDelegate ChargingStationSignatureGenerator = null, ChargingPoolSignatureDelegate ChargingPoolSignatureGenerator = null, ChargingStationOperatorSignatureDelegate ChargingStationOperatorSignatureGenerator = null, Func <RoamingNetwork_Id, String> ReservationLogFileNameCreator = null, Func <RoamingNetwork_Id, String> SessionLogFileNameCreator = null, Func <RoamingNetwork_Id, String> ChargeDetailRecordLogFileNameCreator = null) { #region Initial checks if (RoamingNetworkId == null) { throw new ArgumentNullException(nameof(RoamingNetworkId), "The given roaming network identification must not be null!"); } if (_RoamingNetworks.ContainsKey(RoamingNetworkId)) { throw new RoamingNetworkAlreadyExists(RoamingNetworkId); } #endregion var _RoamingNetwork = new RoamingNetwork(RoamingNetworkId, Name, Description, AdminStatus, Status, MaxAdminStatusListSize, MaxStatusListSize, ChargingStationSignatureGenerator, ChargingPoolSignatureGenerator, ChargingStationOperatorSignatureGenerator, SessionLogFileNameCreator, ChargeDetailRecordLogFileNameCreator); Configurator?.Invoke(_RoamingNetwork); if (RoamingNetworkAddition.SendVoting(this, _RoamingNetwork) && _RoamingNetworks.TryAdd(RoamingNetworkId, _RoamingNetwork)) { RoamingNetworkAddition.SendNotification(this, _RoamingNetwork); return(_RoamingNetwork); } throw new Exception(); }
public RedirectedEVSEs Add(EVSE_Id EVSEId, RoamingNetwork_Id RoamingNetwork_From, RoamingNetwork_Id RoamingNetwork_To) { if (!_RedirectedEVSEList.ContainsKey(EVSEId)) { _RedirectedEVSEList.Add(EVSEId, new Tuple <RoamingNetwork_Id, RoamingNetwork_Id>(RoamingNetwork_From, RoamingNetwork_To)); } return(this); }
/// <summary> /// Create and register a new roaming network having the given /// unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of the new roaming network.</param> /// <param name="AuthorizatorId">The unique identification for the Auth service.</param> /// <param name="Description">A multilanguage description of the roaming network.</param> /// <param name="Action">An optional delegate to configure the new EVSE operator after its creation.</param> public RoamingNetwork CreateNewRoamingNetwork(RoamingNetwork_Id RoamingNetworkId, Authorizator_Id AuthorizatorId = null, I18NString Description = null, Action <RoamingNetwork> Action = null) { #region Initial checks if (RoamingNetworkId == null) { throw new ArgumentNullException("RoamingNetworkId", "The given roaming network identification must not be null!"); } if (_RoamingNetworks.ContainsKey(RoamingNetworkId)) { throw new RoamingNetworkAlreadyExists(RoamingNetworkId); } #endregion var _RoamingNetwork = new RoamingNetwork(RoamingNetworkId, AuthorizatorId) { Description = Description }; Action.FailSafeInvoke(_RoamingNetwork); if (RoamingNetworkAddition.SendVoting(this, _RoamingNetwork)) { if (_RoamingNetworks.TryAdd(RoamingNetworkId, _RoamingNetwork)) { RoamingNetworkAddition.SendNotification(this, _RoamingNetwork); return(_RoamingNetwork); } } throw new Exception(); }
public SearchProviderAlreadyExists(NavigationServiceProvider_Id SearchProvider_Id, RoamingNetwork_Id RoamingNetwork_Id) : base("The given search provider identification '" + SearchProvider_Id + "' already exists within the given '" + RoamingNetwork_Id + "' roaming network!") { }
/// <summary> /// Try to return the roaming network identified by the given unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of a roaming network.</param> /// <param name="RoamingNetwork">The roaming network.</param> /// <returns>True, when the roaming network was found; false else.</returns> public Boolean RemoveRoamingNetwork(RoamingNetwork_Id RoamingNetworkId, out RoamingNetwork RoamingNetwork) => _RoamingNetworks.TryRemove(RoamingNetworkId, out RoamingNetwork);
public RoamingNetworkAlreadyExists(RoamingNetwork_Id RoamingNetworkId) : base("The given roaming network identification '" + RoamingNetworkId + "' already exists!") { }
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!") { }
public EVServiceProviderAlreadyExists(EVSP_Id EVServiceProvider_Id, RoamingNetwork_Id RoamingNetwork_Id) : base("The given EV service provider identification '" + EVServiceProvider_Id + "' already exists within the given '" + RoamingNetwork_Id + "' roaming network!") { }
public EVSEOperatorAlreadyExists(EVSEOperator_Id EVSEOperator_Id, RoamingNetwork_Id RoamingNetwork_Id) : base("The given EVSE operator identification '" + EVSEOperator_Id + "' already exists within the given '" + RoamingNetwork_Id + "' roaming network!") { }
/// <summary> /// Try to return the roaming network identified by the given unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of a roaming network.</param> /// <param name="RoamingNetwork">The roaming network.</param> /// <returns>True, when the roaming network was found; false else.</returns> public Boolean TryGetRoamingNetwork(RoamingNetwork_Id RoamingNetworkId, out RoamingNetwork RoamingNetwork) => _RoamingNetworks.TryGetValue(RoamingNetworkId, out RoamingNetwork);
/// <summary> /// Try to return the roaming network identified by the given unique roaming network identification. /// </summary> /// <param name="RoamingNetworkId">The unique identification of a roaming network.</param> /// <param name="RoamingNetwork">The roaming network.</param> /// <returns>True, when the roaming network was found; false else.</returns> public Boolean TryGetRoamingNetwork(RoamingNetwork_Id RoamingNetworkId, out RoamingNetwork RoamingNetwork) { return(_RoamingNetworks.TryGetValue(RoamingNetworkId, out RoamingNetwork)); }