public async Task <WateringValue> AddWateringAsync(WateringValue watering) { var wateringCollection = _database.GetCollection <WateringValue>("watering"); await wateringCollection.InsertOneAsync(watering); return(watering); }
public async Task <IActionResult> Post([FromBody] SensorsInput sensorsInput) { if (!ModelState.IsValid) { return(BadRequest()); } var sensors = new SensorValues() { //DeviceTimestamp = sensorsInput.DeviceTimestamp, // TODO change to DateTime Temperature = sensorsInput.Temperature.Value, Humidity = sensorsInput.Humidity.Value, SoilMoisture = sensorsInput.SoilMoisture.Value }; // save sensor values await _sensorRepository.AddSensorValuesAsync(sensors); var wateringResult = _wateringService.CalculateMilliseconds(sensors); // TODO move to Watering Controller if (wateringResult.Milliseconds > 0) { var watering = new WateringValue(sensors, wateringResult.Milliseconds); await _wateringRepository.AddWateringAsync(watering); } return(CreatedAtAction("Get", new { id = sensors.Id }, wateringResult)); }