Example #1
0
        /// <summary>
        /// Read
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValueReadResponseApiModel> ValueReadAsync(
            ValueReadRequestApiModel request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var result = await _nodes.NodeValueReadAsync(
                _twin.Endpoint, request.ToServiceModel());

            return(new ValueReadResponseApiModel(result));
        }
        public async Task <ValueReadResponseApiModel> ReadValueAsync(
            string endpointId, [FromBody][Required] ValueReadRequestApiModel request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }
            var readresult = await _nodes.NodeValueReadAsync(
                endpointId, request.ToServiceModel());

            return(new ValueReadResponseApiModel(readresult));
        }
        public async Task <ValueReadResponseApiModel> GetValueAsync(
            string endpointId, [FromQuery][Required] string nodeId)
        {
            if (string.IsNullOrEmpty(nodeId))
            {
                throw new ArgumentNullException(nameof(nodeId));
            }
            var request = new ValueReadRequestApiModel {
                NodeId = nodeId
            };
            var readresult = await _nodes.NodeValueReadAsync(
                endpointId, request.ToServiceModel());

            return(new ValueReadResponseApiModel(readresult));
        }
        /// <summary>
        /// Read
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ValueReadResponseApiModel> ValueReadAsync(
            ValueReadRequestApiModel request)
        {
            kValueReadAsync.Inc();
            ValueReadResponseApiModel model;

            using (kValueReadHistAsync.NewTimer()) {
                if (request == null)
                {
                    throw new ArgumentNullException(nameof(request));
                }
                var result = await _nodes.NodeValueReadAsync(
                    await _twin.GetEndpointAsync(), request.ToServiceModel());

                model = result.ToApiModel();
            }
            return(model);
        }