Пример #1
0
        public async Task AddTemperature(RaspiTemp raspiTemp)
        {
            foreach (var rTemp in raspiTemp.Sensors)
            {
                var temp = new Temperature();
                temp.Value = rTemp.Value;
                temp.Time  = DateTime.Now;
                var sensor = await _context.Sensors.FirstOrDefaultAsync(
                    s => s.HardwareId.Equals(rTemp.HardwareId) && s.User.UserKey.Equals(raspiTemp.UserKey));

                if (sensor == null)
                {
                    _logger.LogError($"AddTemperature:Sensor {raspiTemp.UserKey}/{rTemp.HardwareId} doesn't exist!");
                    throw new Exception("BAD SENSOR");
                }
                await _context.Entry(sensor).Collection(s => s.Temperatures).LoadAsync();

                sensor.Temperatures.Add(temp);
                await _context.SaveChangesAsync();

                _logger.LogInformation($"AddTemperature:Sensor {raspiTemp.UserKey}/{rTemp.HardwareId} added temperature {rTemp.Value}.");
            }
        }
Пример #2
0
        public async Task <ActionResult> PostTemp(RaspiTemp temps)
        {
            await _temperatureService.AddTemperature(temps);

            return(Ok());
        }