示例#1
0
 public eMAIdWithPIN2(eMA_Id eMAId,
                      String PIN)
 {
     this._eMAId    = eMAId;
     this._PIN      = PIN;
     this._Function = PINCrypto.none;
 }
示例#2
0
 public eMAIdWithPIN2(eMA_Id eMAId,
                      String PIN,
                      PINCrypto Function,
                      String Salt = "")
 {
     this._eMAId    = eMAId;
     this._PIN      = PIN;
     this._Function = Function;
     this._Salt     = Salt;
 }
示例#3
0
        /// <summary>
        /// Create a charging reservation.
        /// </summary>
        public ChargingReservation(ChargingReservation_Id ReservationId,
                                   DateTime Timestamp,
                                   DateTime StartTime,
                                   TimeSpan Duration,
                                   DateTime EndTime,
                                   TimeSpan ConsumedReservationTime,
                                   ChargingReservationLevel ReservationLevel,

                                   EVSP_Id ProviderId = null,
                                   eMA_Id eMAId       = null,

                                   RoamingNetwork RoamingNetwork        = null,
                                   ChargingPool_Id ChargingPoolId       = null,
                                   ChargingStation_Id ChargingStationId = null,
                                   EVSE_Id EVSEId = null,
                                   ChargingProduct_Id ChargingProductId = null,

                                   IEnumerable <Auth_Token> AuthTokens = null,
                                   IEnumerable <eMA_Id> eMAIds         = null,
                                   IEnumerable <UInt32> PINs           = null)

        {
            #region Initial checks

            if (ReservationId == null)
            {
                throw new ArgumentNullException(nameof(ReservationId), "The given charging 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._ChargingPoolId    = ChargingPoolId;
            this._ChargingStationId = ChargingStationId;
            this._EVSEId            = EVSEId;
            this._ChargingProductId = ChargingProductId;

            this._AuthTokens = AuthTokens != null ? new HashSet <Auth_Token>(AuthTokens) : new HashSet <Auth_Token>();
            this._eMAIds     = eMAIds != null ? new HashSet <eMA_Id>    (eMAIds)     : new HashSet <eMA_Id>();
            this._PINs       = PINs != null ? new HashSet <UInt32>    (PINs)       : new HashSet <UInt32>();
        }
示例#4
0
        /// <summary>
        /// Create a new eMAId status.
        /// </summary>
        /// <param name="eMAId">The unique identification of an eMAId.</param>
        /// <param name="Status">The current status of an eMAId.</param>
        public eMAIdStatus(eMA_Id eMAId,
                           eMAIdStatusType Status)

        {
            #region Initial checks

            if (eMAId == null)
            {
                throw new ArgumentNullException(nameof(eMAId), "The given unique identification of an eMAId must not be null!");
            }

            #endregion

            this._Id     = eMAId;
            this._Status = Status;
        }
示例#5
0
        /// <summary>
        /// Create a charging reservation.
        /// </summary>
        public ChargingReservation(DateTime Timestamp,
                                   DateTime StartTime,
                                   TimeSpan Duration,
                                   DateTime EndTime,
                                   ChargingReservationLevel ReservationLevel,

                                   EVSP_Id ProviderId = null,
                                   eMA_Id eMAId       = null,

                                   RoamingNetwork RoamingNetwork        = null,
                                   ChargingPool_Id ChargingPoolId       = null,
                                   ChargingStation_Id ChargingStationId = null,
                                   EVSE_Id EVSEId = null,
                                   ChargingProduct_Id ChargingProductId = null,

                                   IEnumerable <Auth_Token> AuthTokens = null,
                                   IEnumerable <eMA_Id> eMAIds         = null,
                                   IEnumerable <UInt32> PINs           = null)

            : this(ChargingReservation_Id.New,
                   Timestamp,
                   StartTime,
                   Duration,
                   EndTime,
                   TimeSpan.FromSeconds(0),
                   ReservationLevel,

                   ProviderId,
                   eMAId,

                   RoamingNetwork,
                   ChargingPoolId,
                   ChargingStationId,
                   EVSEId,
                   ChargingProductId,

                   AuthTokens,
                   eMAIds,
                   PINs)

        {
        }
示例#6
0
 /// <summary>
 /// Create a new authentication info based on the given
 /// e-mobility account identification.
 /// </summary>
 /// <param name="RemoteIdentification">An e-mobility account identification.</param>
 public static AuthInfo FromRemoteIdentification(eMA_Id RemoteIdentification)
 {
     return(new AuthInfo(RemoteIdentification));
 }
示例#7
0
 /// <summary>
 /// Create a new authentication info based on the given
 /// e-mobility account identification transmitted via PnC.
 /// </summary>
 /// <param name="PlugAndChargeIdentification">A PnC e-mobility account identification.</param>
 public static AuthInfo FromPlugAndChargeIdentification(eMA_Id PlugAndChargeIdentification)
 {
     return(new AuthInfo(PlugAndChargeIdentification));
 }
示例#8
0
 /// <summary>
 /// Create a new authentication info based on the given
 /// e-mobility account identification and its password.
 /// </summary>
 /// <param name="eMAId">An e-mobility account identification.</param>
 /// <param name="PIN">A password/PIN.</param>
 public static AuthInfo FromQRCodeIdentification(eMA_Id eMAId,
                                                 String PIN)
 {
     return(new AuthInfo(new eMAIdWithPIN2(eMAId, PIN)));
 }
示例#9
0
 private AuthInfo(eMA_Id RemoteIdentification)
 {
     this._RemoteIdentification = RemoteIdentification;
 }
示例#10
0
 private AuthInfo(eMA_Id PlugAndChargeIdentification,
                  Boolean IsPnC)
 {
     this._PlugAndChargeIdentification = PlugAndChargeIdentification;
 }