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
            };
        }