Exemple #1
0
        public async Task <IActionResult> Info(Guid id)
        {
            var sensor = _sensorsManager.GetSensorById(id);
            var values = _sensorsManager.GetValueTypes(sensor.Id);

            return(View(new SensorInfoViewModel(sensor, values)));
        }
        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());
        }