public async Task <IActionResult> Register(SensorRegistrationByUserModel model)
        {
            var sensor = await this.sensorService.GetSensorByIdAsync(model.Id);

            model.LastValueUser = sensor.SensorData.OrderByDescending(se => se.TimeStamp).FirstOrDefault(s => s.SensorId == model.SensorId).Value;

            if (this.ModelState.IsValid)
            {
                await this.userSensorService.AddUserSensorAsync(model.UserId, model.Id, model.Name, model.UserDescription, model.Coordinates.Split(',')[0],
                                                                model.Coordinates.Split(',')[1], model.AlarmMin, model.AlarmMax, model.UserInterval, model.AlarmTriggered, model.IsPublic,
                                                                model.LastValueUser, model.Type);
            }

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> UpdateSensor(SensorRegistrationByUserModel model)
        {
            var sensor = await this.userSensorService.GetSensorByIdAsync(model.SensorId);

            sensor.Name        = model.Name;
            sensor.Description = model.Description;
            sensor.ModifiedOn  = DateTime.Now;

            var user   = HttpContext.User;
            var userId = this.userManager.GetUserId(user);

            if (this.ModelState.IsValid)
            {
                await this.userSensorService.UpdateUserSensorAsync(sensor);
            }

            return(Json(sensor));
        }
        public async Task <IActionResult> Register(string id)
        {
            var sensor = await this.sensorService.GetSensorByIdAsync(id);

            var user   = HttpContext.User;
            var userId = this.userManager.GetUserId(user);


            var model = new SensorRegistrationByUserModel()
            {
                Description = sensor.Description,
                SensorId    = sensor.SensorId,
                Type        = sensor.MeasureType,
                Tag         = sensor.Tag,
                ApiInterval = sensor.MinPollingIntervalInSeconds,
                UserId      = userId,
                Id          = sensor.Id,
            };

            return(View(model));
        }