public ActionResult <FileSensorValue> Post([FromBody] FileSensorValue sensorValue) { try { _monitoringCore.AddSensorValue(sensorValue); return(Ok(sensorValue)); } catch (Exception e) { _logger.LogError(e, "Failed to put data!"); return(BadRequest(sensorValue)); } }
public ActionResult <FileSensorValue> Post([FromBody] FileSensorValue sensorValue) { try { _dataCollector.ReportSensorsCount(1); _dataReceiver.AddSensorValue(sensorValue.ConvertToFileSensorBytes()); return(Ok(sensorValue)); } catch (Exception e) { _logger.LogError(e, "Failed to put data!"); return(BadRequest(sensorValue)); } }
public void AddSensorValue(FileSensorValue value) { try { string productName = _productManager.GetProductNameByKey(value.Key); bool isNew = false; if (!_productManager.IsSensorRegistered(productName, value.Path)) { isNew = true; _productManager.AddSensor(productName, value); } DateTime timeCollected = DateTime.Now; SensorData updateMessage = _converter.Convert(value, productName, timeCollected, isNew ? TransactionType.Add : TransactionType.Update); _queueManager.AddSensorData(updateMessage); _valuesCache.AddValue(productName, updateMessage); SensorDataEntity dataObject = _converter.ConvertToDatabase(value, timeCollected); Task.Run(() => SaveSensorValue(dataObject, productName)); } catch (Exception e) { _logger.LogError(e, $"Failed to add value for sensor '{value?.Path}'"); } }
public static FileSensorBytesValue ConvertToFileSensorBytes(this FileSensorValue sensorValue) =>