Exemple #1
0
        public async Task <GetGatewayDatapointResponse> Handle(GetGatewayDatapointRequest message)
        {
            var gatewayResponse = await GetGateway(message.GatewayId.ToString());

            if (gatewayResponse.StatusCode == HttpStatusCode.NotFound)
            {
                return(new GetGatewayDatapointResponse()
                {
                    ErrorModel = new ErrorModel(ErrorType.NotFound)
                });
            }

            var gatewaySettingResponse = await GetGatewaySetting(message.DatapointId.ToString());

            if (gatewaySettingResponse.StatusCode == HttpStatusCode.NotFound)
            {
                return(new GetGatewayDatapointResponse()
                {
                    ErrorModel = new ErrorModel(ErrorType.NotFound)
                });
            }

            var kolibriResponse = await ReadValuesFromKolibri(gatewaySettingResponse.Data.HexAdress);

            var datapoint = AssignValues(gatewaySettingResponse.Data, kolibriResponse.Data);

            var response = new GetGatewayDatapointResponse()
            {
                Data = datapoint
            };

            return(response);
        }
Exemple #2
0
        public async Task <IHttpActionResult> GetDatapoint([FromUri] int id, [FromUri] int datapointId)
        {
            var request = new GetGatewayDatapointRequest()
            {
                GatewayId   = id,
                DatapointId = datapointId
            };

            var responseModel = await this.getDatapointHandler.Handle(request);

            return(this.CreateHttpActionResult(responseModel));
        }