예제 #1
0
 /// <summary>
 /// Create a new geographical coordinate or position on a map.
 /// </summary>
 /// <param name="Latitude">The latitude ("Breitengrad": South -90° to Nord +90°).</param>
 /// <param name="Longitude">The longitude ("Längengrad": West -180° to East +180°).</param>
 /// <param name="GeoFormat">The format of the coordinates.</param>
 public GeoCoordinates(Double Latitude,
                       Double Longitude,
                       GeoCoordinatesFormats GeoFormat = GeoCoordinatesFormats.DecimalDegree)
 {
     this.Latitude  = Latitude;
     this.Longitude = Longitude;
     this.GeoFormat = GeoFormat;
 }
예제 #2
0
        /// <summary>
        /// Create a new PullEVSEData request.
        /// The request might either have none, 'SearchCenter + DistanceKM' or 'LastCall' parameters.
        /// Because of limitations at Hubject the SearchCenter and LastCall parameters can not be used at the same time!
        /// </summary>
        /// <param name="ProviderId">The unique identification of the e-mobility provider.</param>
        /// <param name="LastCall">An optional timestamp of the last call. Cannot be combined with 'SearchCenter'.</param>
        ///
        /// <param name="GeoCoordinatesResponseFormat">An optional response format for representing geo coordinates.</param>
        /// <param name="OperatorIdFilter">Only return EVSEs belonging to the given optional enumeration of EVSE operators.</param>
        /// <param name="CountryCodeFilter">An optional enumeration of countries whose EVSE's a provider wants to retrieve.</param>
        /// <param name="SearchCenter">An optional geo coordinate of the search center.</param>
        /// <param name="DistanceKM">An optional search distance relative to the search center.</param>
        ///
        /// <param name="Page">An optional page number of the request page.</param>
        /// <param name="Size">An optional size of a request page.</param>
        /// <param name="SortOrder">Optional sorting criteria in the format: property(,asc|desc).</param>
        /// <param name="CustomData">Optional customer specific data, e.g. in combination with custom parsers and serializers.</param>
        ///
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">The timeout for this request.</param>
        public PullEVSEDataRequest(Provider_Id ProviderId,
                                   DateTime?LastCall = null,

                                   IEnumerable <Operator_Id> OperatorIdFilter                 = null,
                                   IEnumerable <Country> CountryCodeFilter                    = null,
                                   IEnumerable <AccessibilityTypes> AccessibilityFilter       = null,
                                   IEnumerable <AuthenticationModes> AuthenticationModeFilter = null,
                                   IEnumerable <CalibrationLawDataAvailabilities> CalibrationLawDataAvailabilityFilter = null,
                                   Boolean?RenewableEnergyFilter     = null,
                                   Boolean?IsHubjectCompatibleFilter = null,
                                   Boolean?IsOpen24HoursFilter       = null,

                                   GeoCoordinates?SearchCenter = null,
                                   Single?DistanceKM           = null,
                                   GeoCoordinatesFormats?GeoCoordinatesResponseFormat = GeoCoordinatesFormats.DecimalDegree,

                                   UInt32?Page = null,
                                   UInt32?Size = null,
                                   IEnumerable <String> SortOrder = null,
                                   JObject CustomData             = null,

                                   DateTime?Timestamp = null,
                                   CancellationToken?CancellationToken = null,
                                   EventTracking_Id EventTrackingId    = null,
                                   TimeSpan?RequestTimeout             = null)

            : base(Page,
                   Size,
                   SortOrder,
                   CustomData,

                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.ProviderId = ProviderId;
            this.LastCall   = LastCall;

            this.OperatorIdFilter                     = OperatorIdFilter?.Distinct() ?? new Operator_Id[0];
            this.CountryCodeFilter                    = CountryCodeFilter?.Distinct() ?? new Country[0];
            this.AccessibilityFilter                  = AccessibilityFilter?.Distinct() ?? new AccessibilityTypes[0];
            this.AuthenticationModeFilter             = AuthenticationModeFilter?.Distinct() ?? new AuthenticationModes[0];
            this.CalibrationLawDataAvailabilityFilter = CalibrationLawDataAvailabilityFilter?.Distinct() ?? new CalibrationLawDataAvailabilities[0];
            this.RenewableEnergyFilter                = RenewableEnergyFilter;
            this.IsHubjectCompatibleFilter            = IsHubjectCompatibleFilter;
            this.IsOpen24HoursFilter                  = IsOpen24HoursFilter;

            this.SearchCenter = SearchCenter;
            this.DistanceKM   = DistanceKM;
            this.GeoCoordinatesResponseFormat = GeoCoordinatesResponseFormat ?? GeoCoordinatesFormats.DecimalDegree;
        }