/// <inheritdoc/>
        public async Task <HistoryReadNextResultModel <HistoricEventModel[]> > HistoryReadEventsNextAsync(
            T endpoint, HistoryReadNextRequestModel request)
        {
            var results = await _client.HistoryReadNextAsync(endpoint, request);

            return(results.ToSpecificModel(_codec.DecodeEvents));
        }
예제 #2
0
        /// <inheritdoc/>
        public async Task <HistoryReadNextResultModel <HistoricEventModel[]> > HistoryReadEventsNextAsync(
            string endpoint, HistoryReadNextRequestModel request)
        {
            var result = await _client.HistoryReadEventsNextAsync(endpoint, request.ToApiModel());

            return(result.ToServiceModel(m => m?.Select(x => x.ToServiceModel()).ToArray()));
        }
        /// <inheritdoc/>
        public async Task <HistoryReadNextResultModel <VariantValue> > HistoryReadNextAsync(
            EndpointApiModel endpoint, HistoryReadNextRequestModel request)
        {
            var result = await _client.HistoryReadRawNextAsync(endpoint, request.ToApiModel());

            return(result.ToServiceModel());
        }
        /// <inheritdoc/>
        public async Task <HistoryReadNextResultModel <JToken> > HistoryReadNextAsync(
            string endpoint, HistoryReadNextRequestModel request)
        {
            var result = await _client.HistoryReadRawNextAsync(endpoint,
                                                               Map <HistoryReadNextRequestApiModel>(request));

            return(Map <HistoryReadNextResultModel <JToken> >(result));
        }
예제 #5
0
        /// <summary>
        /// Read next set of values
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="client"></param>
        /// <param name="endpoint"></param>
        /// <param name="request"></param>
        /// <param name="codec"></param>
        /// <returns></returns>
        public static async Task <HistoryReadNextResultModel <HistoricValueModel[]> > HistoryReadValuesNextAsync <T>(
            this IHistoricAccessServices <T> client, T endpoint,
            HistoryReadNextRequestModel request, IVariantEncoderFactory codec)
        {
            var results = await client.HistoryReadNextAsync(endpoint, request);

            return(results.ToSpecificModel(codec.Default.DecodeValues));
        }
예제 #6
0
        /// <inheritdoc/>
        public async Task <HistoryReadNextResultModel <HistoricValueModel[]> > HistoryReadValuesNextAsync(
            string endpoint, HistoryReadNextRequestModel request)
        {
            var result = await _client.HistoryReadValuesNextAsync(endpoint,
                                                                  request.Map <HistoryReadNextRequestApiModel>());

            return(result.Map <HistoryReadNextResultModel <HistoricValueModel[]> >());
        }
예제 #7
0
 /// <summary>
 /// Create from service model
 /// </summary>
 /// <param name="model"></param>
 public HistoryReadNextRequestApiModel(HistoryReadNextRequestModel model)
 {
     if (model == null)
     {
         throw new ArgumentNullException(nameof(model));
     }
     ContinuationToken = model.ContinuationToken;
     Abort             = model.Abort;
     Header            = model.Header == null ? null :
                         new RequestHeaderApiModel(model.Header);
 }
예제 #8
0
 /// <summary>
 /// Create from service model
 /// </summary>
 /// <param name="model"></param>
 public static HistoryReadNextRequestApiModel ToApiModel(
     this HistoryReadNextRequestModel model)
 {
     if (model == null)
     {
         return(null);
     }
     return(new HistoryReadNextRequestApiModel {
         ContinuationToken = model.ContinuationToken,
         Abort = model.Abort,
         Header = model.Header.ToApiModel()
     });
 }
예제 #9
0
 /// <inheritdoc/>
 public async Task <HistoryReadNextResultModel <JToken> > HistoryReadNextAsync(
     string endpointId, HistoryReadNextRequestModel request)
 {
     if (request == null)
     {
         throw new ArgumentNullException(nameof(request));
     }
     if (string.IsNullOrEmpty(request.ContinuationToken))
     {
         throw new ArgumentNullException(nameof(request.ContinuationToken));
     }
     return(await CallServiceOnTwin <HistoryReadNextRequestModel, HistoryReadNextResultModel <JToken> >(
                "HistoryReadNext_V2", endpointId, request));
 }
        /// <inheritdoc/>
        public async Task <HistoryReadNextResultModel <VariantValue> > HistoryReadNextAsync(
            EndpointRegistrationModel registration, HistoryReadNextRequestModel request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            if (string.IsNullOrEmpty(request.ContinuationToken))
            {
                throw new ArgumentNullException(nameof(request.ContinuationToken));
            }
            var result = await CallServiceOnSupervisorAsync <HistoryReadNextRequestModel, HistoryReadNextResultModel <VariantValue> >(
                "HistoryRead_V2", registration, request);

            return(result);
        }
예제 #11
0
 /// <inheritdoc/>
 public Task <HistoryReadNextResultModel <VariantValue> > HistoryReadNextAsync(
     string endpointId, HistoryReadNextRequestModel request)
 {
     return(_history.HistoryReadNextAsync(Endpoint, request));
 }