public ActionResult GetProduct(string deviceId, string sensorType, DateTime startDate) { var query = new GetInMemorySensorDataQuery { DeviceId = deviceId, SensorType = sensorType, StartDate = startDate }; var response = _mediator.Send(query); if (response != null) { return(Ok(response)); } else { return(NotFound()); } }
Task <List <SensorMetaData> > IRequestHandler <GetInMemorySensorDataQuery, List <SensorMetaData> > .Handle(GetInMemorySensorDataQuery request, CancellationToken cancellationToken) { if (request.SensorType == null) { var sensorData = _retrieveSensorDataClient._metaSensorData.Where(x => x.DeviceID == request.DeviceId && x.MeasurementDay.Date.ToString("yyyy-MM-dd") == request.StartDate.Date.ToString("yyyy-MM-dd")); if (sensorData != null) { return(Task.FromResult(sensorData.ToList())); } else { return(null); } } var result = _retrieveSensorDataClient._metaSensorData.Where(x => x.GetType().Name.ToLower() == request.SensorType && x.DeviceID == request.DeviceId && x.MeasurementDay.Date.ToString("yyyy-MM-dd") == request.StartDate.Date.ToString("yyyy-MM-dd")); if (result == null) { return(null); } else if (request.SensorType == "temperature") { var temp = (Temperature)result.FirstOrDefault(); temp.ConvertCelsiusToFahrenheit(); return(Task.FromResult(result.ToList())); } else { return(Task.FromResult(result.ToList())); } }