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); }
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)); }