public async Task <IActionResult> Update(CreateUpdateSensorViewModel model) { if (!this.ModelState.IsValid) { TempData["Error-Message"] = "Oops something went wrong! Try again.."; return(this.RedirectToAction("Update", "Sensor", new { sensorId = model.SensorId })); } try { Validator.ValidateSensorValues(model.MinRangeValue, model.ApiMinRangeValue, model.MaxRangeValue, model.ApiMaxRangeValue, model.PollingInterval, model.ApiPollingInterval); } catch (ArgumentOutOfRangeException e) { TempData["Error-Message"] = e.Message; return(this.RedirectToAction("Update", "Sensor", new { sensorId = model.SensorId })); } var updatedSensorId = await this.sensorsService.Update(model.SensorId, model.UserId, model.IcbSensorId, model.Name, model.Description, model.PollingInterval, model.IsPublic, model.AlarmOn, model.MinRangeValue, model.MaxRangeValue, model.Longtitude, model.Latitude, model.SwitchOn); this.TempData["Success-Message"] = $"You successfully updated your sensor!"; return(this.RedirectToAction("Details", "Sensor", new { sensorId = updatedSensorId })); }
public async Task <IActionResult> Create(CreateUpdateSensorViewModel model) { if (!this.ModelState.IsValid) { TempData["Error-Message"] = "Please enter valid alarm preferences!"; return(this.RedirectToAction("Create", "Sensor", new { icbSensorId = model.IcbSensorId, userId = model.UserId })); } try { Validator.ValidateSensorValues(model.MinRangeValue, model.ApiMinRangeValue, model.MaxRangeValue, model.ApiMaxRangeValue, model.PollingInterval, model.ApiPollingInterval); } catch (ArgumentOutOfRangeException e) { TempData["Error-Message"] = e.Message; return(this.RedirectToAction("Create", "Sensor", new { icbSensorId = model.IcbSensorId, userId = model.UserId })); } var createdSensorId = await this.sensorsService.RegisterNewSensor(model.UserId, model.IcbSensorId, model.Name, model.Description, model.PollingInterval, model.IsPublic, model.AlarmOn, model.MinRangeValue, model.MaxRangeValue, model.Longtitude, model.Latitude, model.SwitchOn); this.TempData["Success-Message"] = $"You successfully registered a new sensor!"; return(this.RedirectToAction("MySensors", "Sensor")); //return this.RedirectToAction("Details", "Sensor", new { sensorId = createdSensorId }); }
public async Task <IActionResult> Create(string icbSensorId) { // TODO: Better implementation var icbSensor = await this.icbSensorsService.GetById(icbSensorId); if (icbSensor == null) { // TODO: Error return(this.NotFound()); } var userId = User.GetId(); var model = new CreateUpdateSensorViewModel() { IcbSensorId = icbSensorId, PollingInterval = icbSensor.PollingInterval, ApiPollingInterval = icbSensor.PollingInterval, UserId = userId, ChoosenSensorModel = icbSensor.Tag.SplitTag() }; if (icbSensor.MeasureType.MeasureUnit == "(true/false)") { model.IsSwitch = true; } else { model.MinRangeValue = icbSensor.MinRangeValue; model.MaxRangeValue = icbSensor.MaxRangeValue; model.ApiMaxRangeValue = icbSensor.MaxRangeValue; model.ApiMinRangeValue = icbSensor.MinRangeValue; } return(View(model)); }
public async Task <IActionResult> Update(string sensorId) { try { var sensor = await this.sensorsService.GetSensorById(sensorId); if (sensor.UserId != User.GetId()) { TempData["Error-Message"] = "Access denied!"; return(RedirectToAction("Index", "Home")); } var model = new CreateUpdateSensorViewModel() { AlarmOn = sensor.AlarmOn, Description = sensor.Description, IcbSensorId = sensor.IcbSensorId, IsPublic = sensor.IsPublic, Latitude = sensor.Coordinates.Latitude, Longtitude = sensor.Coordinates.Longitude, Name = sensor.Name, PollingInterval = sensor.PollingInterval, SensorId = sensor.Id, UserId = sensor.UserId, ApiPollingInterval = sensor.IcbSensor.PollingInterval, SwitchOn = sensor.SwitchOn, ChoosenSensorModel = sensor.IcbSensor.Tag.SplitTag() }; if (sensor.IcbSensor.MeasureType.MeasureUnit == "(true/false)") { model.IsSwitch = true; } else { model.MinRangeValue = sensor.MinRangeValue; model.MaxRangeValue = sensor.MaxRangeValue; model.ApiMaxRangeValue = sensor.IcbSensor.MaxRangeValue; model.ApiMinRangeValue = sensor.IcbSensor.MinRangeValue; } return(View(model)); } catch (EntityDoesntExistException e) { TempData["Error-Message"] = e.Message; return(this.RedirectToAction("Index", "Home")); } }