예제 #1
0
        public IActionResult UpdateSensor([FromRoute] string name, [FromBody] SensorDto model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var sensor = _repository.GetSensor(name);

            if (model.Name == null)
            {
                model.Name = name;
            }

            var result = (sensor != null) ? _repository.UpdateSensor(model) : _repository.AddSensor(model);

            if (!result)
            {
                return(BadRequest());
            }

            var svm = SensorViewModelFactory.FromSensor(_repository.GetSensor(name));

            return(CreatedAtAction("Sensor", svm));
        }
예제 #2
0
        public IActionResult Sensor(string name)
        {
            var sensor = _repository.GetSensor(name);

            if (sensor != null)
            {
                ViewData["Title"] = sensor.Name;

                var vm = new SensorPageViewModel
                {
                    AllSensors      = new IndexViewModel(_repository.GetAllSensors()).Sensors,
                    Sensor          = SensorViewModelFactory.FromSensor(sensor),
                    Last24Hours     = _repository.GetSensorHistoryLast24Hours(name),
                    LastWeek        = _repository.GetSensorHistoryLastDays(name, 7),
                    LastMonth       = _repository.GetSensorHistoryLastDays(name, 30),
                    LastYear        = _repository.GetSensorHistoryLastDays(name, 365),
                    LastYearByMonth = _repository.GetSensorHistoryLastYear(name)
                };

                return(View(vm));
            }
            else
            {
                return(NotFound());
            }
        }
예제 #3
0
        public IActionResult SensorInAnotherFormat(string name)
        {
            var sensor = _repository.GetSensor(name);

            if (sensor != null)
            {
                return(Ok(SensorViewModelFactory.FromSensor(sensor)));
            }
            else
            {
                return(NotFound());
            }
        }