public ActionResult DeleteAll(int? id = null, int? id2 = null) { if (id != null && id2 != null) { Sensor sensor = gatewayDb.GetSensor(id.Value, id2.Value); if (sensor == null) return new HttpNotFoundResult(); linksDb.DeleteLinksTo(id.Value, id2.Value); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsLinks(); if (Request.Headers["Referer"].Count > 0) return Redirect(Request.Headers["Referer"].ToString()); else return RedirectToAction("List"); } else if (RouteData.Values.Count <= 2) { linksDb.DropLinks(); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsLinks(); if (Request.Headers["Referer"].Count>0) return Redirect(Request.Headers["Referer"].ToString()); else return RedirectToAction("List"); } return new HttpNotFoundResult(); }
public ActionResult Delete(int id) { Node node = gatewayDb.GetNodeByNodeId(id); if (node == null) return HttpNotFound(); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.DeleteNode(node.nodeId); gatewayDb.DeleteNodeByDbId(node.db_Id); ISensorsLinksRepository linksDb = SerialController.sensorsLinksDb; ISensorsTasksRepository tasksDb = SerialController.sensorsTasksDb; foreach (var sensor in node.sensors) { historyDb.DropSensorHistory(sensor.db_Id); linksDb.DeleteLinksTo(sensor.db_Id); linksDb.DeleteLinksFrom(sensor.db_Id); tasksDb.DeleteTasks(sensor.db_Id); } gatewayApi.UpdateSensorsTasks(); gatewayApi.UpdateSensorsLinks(); return RedirectToAction("Control", "Gateway"); }
public ActionResult Delete(int id) { SensorLink link = linksDb.GetLink(id); if (link == null) return new HttpNotFoundResult(); linksDb.DeleteLink(id); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsLinks(); if (Request.Headers["Referer"].Count > 0) return Redirect(Request.Headers["Referer"].ToString()); else return RedirectToAction("List"); }
public ActionResult Delete(int id) { SensorTask task = tasksDb.GetTask(id); if (task == null) return new HttpNotFoundResult(); tasksDb.DeleteTask(id); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsTasks(); if (Request.Headers["Referer"].Any()) return Redirect(Request.Headers["Referer"].ToString()); else return RedirectToAction("List"); }
public ActionResult Settings() { int id = Int32.Parse(Request.Form["nodeId"]); Node node = gatewayDb.GetNodeByNodeId(id); string nodename = Request.Form["nodename"]; if (nodename == "") nodename = null; node.name = nodename; foreach (var sensor in node.sensors) { string sensordescription = Request.Form["sensordescription" + sensor.sensorId]; if (sensordescription == "") sensordescription = null; sensor.description = sensordescription; bool storehistory = Request.Form["storehistory" + sensor.sensorId] != "false"; bool writeeverychange = Request.Form["writeeverychange" + sensor.sensorId] != "false"; int writeinterval = Int32.Parse(Request.Form["writeinterval" + sensor.sensorId]); sensor.storeHistoryEnabled = storehistory; sensor.storeHistoryEveryChange = writeeverychange; sensor.storeHistoryWithInterval = writeinterval; bool invertData = Request.Form["invertData" + sensor.sensorId] != "false"; bool remapEnabled = Request.Form["remapData" + sensor.sensorId] != "false"; string remapFromMin = Request.Form["remapFromMin" + sensor.sensorId]; string remapFromMax = Request.Form["remapFromMax" + sensor.sensorId]; string remapToMin = Request.Form["remapToMin" + sensor.sensorId]; string remapToMax = Request.Form["remapToMax" + sensor.sensorId]; sensor.invertData = invertData; sensor.remapEnabled = remapEnabled; sensor.remapFromMin = remapFromMin; sensor.remapFromMax = remapFromMax; sensor.remapToMin = remapToMin; sensor.remapToMax = remapToMax; } gatewayDb.UpdateNodeSettings(node); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateNodeSettings(node); return RedirectToAction("Control", "Gateway"); // return View(node); }
public ActionResult New(string from, string to) { string[] args = from.Split('-'); int fromNodeId = Int32.Parse(args[0]); int fromSensorId = Int32.Parse(args[1]); SensorDataType fromDataType; SensorDataType.TryParse(args[2], true, out fromDataType); args = to.Split('-'); int toNodeId = Int32.Parse(args[0]); int toSensorId = Int32.Parse(args[1]); SensorDataType toDataType; SensorDataType.TryParse(args[2], true, out toDataType); Sensor fromSensor = gatewayDb.GetSensor(fromNodeId, fromSensorId); Sensor toSensor = gatewayDb.GetSensor(toNodeId, toSensorId); if (fromSensor == null || toSensor == null) return new HttpNotFoundResult(); bool linkPossible = CheckLinkPossible(fromSensor, toSensor); if (!linkPossible) { ModelState.AddModelError("", "Link impossible"); return RedirectToAction("New"); } Node fromNode = gatewayDb.GetNodeByNodeId(fromSensor.nodeId); Node toNode = gatewayDb.GetNodeByNodeId(toSensor.nodeId); SensorLink link = new SensorLink() { fromNodeId = fromNodeId, fromSensorId = fromSensorId, fromDataType = fromDataType, fromSensorDbId = fromSensor.db_Id, fromSensorDescription = $"{fromNode.GetSimpleName1()} {fromSensor.GetSimpleName1()}", toNodeId = toNodeId, toSensorId = toSensorId, toDataType = toDataType, toSensorDbId = toSensor.db_Id, toSensorDescription = $"{toNode.GetSimpleName1()} {toSensor.GetSimpleName1()}" }; linksDb.AddLink(link); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsLinks(); return RedirectToAction("List", new { id = link.toNodeId, id2 = link.toSensorId }); }
public ActionResult New(SensorTask task) { Sensor sensor = gatewayDb.GetSensor(task.nodeId, task.sensorId); if (sensor == null) return new HttpNotFoundResult(); if (task.isRepeating) task.executionValue = task.repeatingBValue; tasksDb.AddTask(task); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsTasks(); return RedirectToAction("List", new { id = task.nodeId, id2 = task.sensorId }); }
public ActionResult ExecuteNow(int id) { SensorTask task = tasksDb.GetTask(id); if (task == null) return new HttpNotFoundResult(); tasksDb.UpdateTask(task.db_Id, true, false, DateTime.Now, 0); GatewayAPIController gatewayApi = new GatewayAPIController(); gatewayApi.UpdateSensorsTasks(); if (Request.Headers["Referer"].Any()) return Redirect(Request.Headers["Referer"].ToString()); else return RedirectToAction("List"); }