public IActionResult StoreValue(Guid sensorId, SetValueViewModel model)
        {
            var sensor = _sensorManager.GetSensorById(sensorId);

            if (sensor == null)
            {
                return(NotFound($"Sensor {sensorId} not found"));
            }

            var userEmail = User.Identity.Name;
            var user      = _userRepository.GetUserByEmail(userEmail);

            if (sensor.UserId != user.Id)
            {
                return(Forbid());
            }

            var valueType = _sensorManager.GetValueType(sensorId, model.Name);

            if (valueType == null)
            {
                return(NotFound($"ValueType {model.Name} for sensor {sensorId} not found"));
            }

            var result = _sensorManager.StoreValue(valueType.Id, model.Payload);

            if (result)
            {
                return(Ok());
            }
            return(BadRequest());
        }
Esempio n. 2
0
        public async Task <IActionResult> GetValue(Guid id, string name)
        {
            var value  = _sensorsManager.GetValueType(id, name);
            var values = _sensorsManager.GetValues(value.Id);


            var model = new SensorValuesList(value, values);

            return(View(model));
        }