コード例 #1
0
        /// <inheritdoc/>
        public async Task <HistoryUpdateResponseApiModel> HistoryUpdateRawAsync(
            EndpointApiModel endpoint, HistoryUpdateRequestApiModel <VariantValue> request,
            CancellationToken ct)
        {
            if (endpoint == null)
            {
                throw new ArgumentNullException(nameof(endpoint));
            }
            if (string.IsNullOrEmpty(endpoint.Url))
            {
                throw new ArgumentNullException(nameof(endpoint.Url));
            }
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            if (request.Details == null)
            {
                throw new ArgumentNullException(nameof(request.Details));
            }
            var response = await _methodClient.CallMethodAsync(_deviceId, _moduleId,
                                                               "HistoryUpdate_V2", _serializer.SerializeToString(new {
                endpoint,
                request
            }), null, ct);

            return(_serializer.Deserialize <HistoryUpdateResponseApiModel>(response));
        }
コード例 #2
0
        /// <summary>
        /// Update history
        /// </summary>
        /// <param name="endpoint"></param>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <HistoryUpdateResponseApiModel> HistoryUpdateAsync(
            EndpointApiModel endpoint, HistoryUpdateRequestApiModel <VariantValue> request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var result = await _historian.HistoryUpdateAsync(
                endpoint.ToServiceModel(), request.ToServiceModel());

            return(result.ToApiModel());
        }
コード例 #3
0
        public async Task <HistoryUpdateResponseApiModel> HistoryUpdateRawAsync(
            string endpointId, [FromBody][Required] HistoryUpdateRequestApiModel <VariantValue> request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var writeResult = await _client.HistoryUpdateAsync(
                endpointId, request.ToServiceModel(d => d));

            return(writeResult.ToApiModel());
        }
コード例 #4
0
        /// <summary>
        /// Update history
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <HistoryUpdateResponseApiModel> HistoryUpdateAsync(
            HistoryUpdateRequestApiModel request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var result = await _historian.HistoryUpdateAsync(
                _twin.Endpoint, request.ToServiceModel());

            return(new HistoryUpdateResponseApiModel(result));
        }
コード例 #5
0
        public async Task <HistoryUpdateResponseApiModel> HistoryReplaceEventsAsync(
            string endpointId,
            [FromBody][Required] HistoryUpdateRequestApiModel <ReplaceEventsDetailsApiModel> request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var writeResult = await _historian.HistoryReplaceEventsAsync(
                endpointId, request.ToServiceModel(d => d.ToServiceModel()));

            return(new HistoryUpdateResponseApiModel(writeResult));
        }
コード例 #6
0
 /// <summary>
 /// Convert to service model
 /// </summary>
 /// <typeparam name="S"></typeparam>
 /// <typeparam name="T"></typeparam>
 /// <param name="model"></param>
 /// <param name="convert"></param>
 /// <returns></returns>
 public static HistoryUpdateRequestModel <S> ToServiceModel <S, T>(
     this HistoryUpdateRequestApiModel <T> model, Func <T, S> convert)
 {
     if (model == null)
     {
         return(null);
     }
     return(new HistoryUpdateRequestModel <S> {
         Details = convert(model.Details),
         BrowsePath = model.BrowsePath,
         NodeId = model.NodeId,
         Header = model.Header.ToServiceModel()
     });
 }
コード例 #7
0
        /// <inheritdoc/>
        public async Task <HistoryUpdateResponseApiModel> HistoryDeleteEventsAsync(string endpointId,
                                                                                   HistoryUpdateRequestApiModel <DeleteEventsDetailsApiModel> content, CancellationToken ct)
        {
            if (string.IsNullOrEmpty(endpointId))
            {
                throw new ArgumentNullException(nameof(endpointId));
            }
            if (content == null)
            {
                throw new ArgumentNullException(nameof(content));
            }
            var request = _httpClient.NewRequest(
                $"{_serviceUri}/v2/delete/{endpointId}/events", _resourceId);

            request.SetContent(content);
            var response = await _httpClient.PostAsync(request, ct).ConfigureAwait(false);

            response.Validate();
            return(response.GetContent <HistoryUpdateResponseApiModel>());
        }
コード例 #8
0
        /// <inheritdoc/>
        public async Task <HistoryUpdateResponseApiModel> HistoryDeleteValuesAsync(string endpointId,
                                                                                   HistoryUpdateRequestApiModel <DeleteValuesDetailsApiModel> content, CancellationToken ct)
        {
            if (string.IsNullOrEmpty(endpointId))
            {
                throw new ArgumentNullException(nameof(endpointId));
            }
            if (content == null)
            {
                throw new ArgumentNullException(nameof(content));
            }
            var request = _httpClient.NewRequest(
                $"{_serviceUri}/v2/delete/{endpointId}/values", Resource.Platform);

            _serializer.SerializeToRequest(request, content);
            var response = await _httpClient.PostAsync(request, ct).ConfigureAwait(false);

            response.Validate();
            return(_serializer.DeserializeResponse <HistoryUpdateResponseApiModel>(response));
        }
コード例 #9
0
 /// <summary>
 /// Update using raw extension object details
 /// </summary>
 /// <param name="api"></param>
 /// <param name="endpointUrl"></param>
 /// <param name="request"></param>
 /// <param name="ct"></param>
 /// <returns></returns>
 public static Task <HistoryUpdateResponseApiModel> HistoryUpdateRawAsync(
     this IHistoryModuleApi api, string endpointUrl, HistoryUpdateRequestApiModel <VariantValue> request,
     CancellationToken ct = default)
 {
     return(api.HistoryUpdateRawAsync(NewEndpoint(endpointUrl), request, ct));
 }