public object BuildZoneRichWebModel(Zone zone) { if (zone == null) return null; var pluginMonitors = Context.GetPlugin<MonitorsPlugin>(); var ids = Extensions.FromJson(typeof(List<Guid>), zone.MonitorsList) as List<Guid>; var monitors = ids.Select(id => pluginMonitors.BuildMonitorRichWebModel(pluginMonitors.Get(id))).ToArray(); var pluginControllers = Context.GetPlugin<ControllersPlugin>(); ids = Extensions.FromJson(typeof(List<Guid>), zone.ControllersList) as List<Guid>; var controllers = ids.Select(id => pluginControllers.BuildControllerWebModel(pluginControllers.Get(id))).ToArray(); var pluginScripts = Context.GetPlugin<ScriptsPlugin>(); ids = Extensions.FromJson(typeof(List<Guid>), zone.ScriptsList) as List<Guid>; var scripts = ids.Select(id => pluginScripts.BuildScriptRichWebModel(pluginScripts.GetScript(id))).ToArray(); return new { Id = zone.Id, Name = zone.Name, MonitorsList = monitors, ControllersList = controllers, ScriptsList = scripts }; }
private object apiAddZone(HttpRequestParams request) { var name = request.GetRequiredString("name"); using (var session = Context.OpenSession()) { Zone zone = new Zone() { Id = Guid.NewGuid(), Name = name, MonitorsList = "[]", ControllersList = "[]", ScriptsList = "[]", GraphsList = "[]" }; session.Save(zone); session.Flush(); } //NotifyForSignalR(new { MsgId = "SensorNameChanged", Data = new { Id = id, Name = name } }); return null; }
public object BuildZoneWebModel(Zone zone) { if (zone == null) return null; return new { Id = zone.Id, Name = zone.Name, MonitorsIds = zone.MonitorsList, ControllersIds = zone.ControllersList, ScriptsIds = zone.ScriptsList }; }