Ejemplo n.º 1
0
        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());
            }
        }
Ejemplo n.º 2
0
        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()));
            }
        }