public object EditorOpenWidget(HttpRequestParams request) { var id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var widget = session.Query<Widget>() .Fetch(a => a.Panel) .ThenFetch(p => p.Dashboard) .Single(x => x.Id == id); var model = GetEditorModel(widget.TypeAlias, widget.Panel, session); var parameters = session.Query<WidgetParameter>() .Where(x => x.Widget.Id == id) .ToArray(); FillEditorModel(model, widget, parameters); return new { info = model.Item1, fields = model.Item2 }; } }
public object GetWidgetList(HttpRequestParams request) { Guid dashboardId = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var info = GetDashboardModel(dashboardId, session); var widgets = GetWidgetListModel(dashboardId, session); return new { info, widgets }; } }
public object LoadScript(HttpRequestParams request) { Guid id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var script = session.Query<UserScript>() .Select(x => new { id = x.Id, name = x.Name, body = x.Body }) .FirstOrDefault(x => x.id == id); return script; } }
public object DeleteScript(HttpRequestParams request) { Guid scriptId = request.GetRequiredGuid("scriptId"); using (var session = Context.OpenSession()) { var subscription = session.Load<UserScript>(scriptId); session.Delete(subscription); session.Flush(); } return null; }
public object DeleteSubscription(HttpRequestParams request) { Guid subscriptionId = request.GetRequiredGuid("subscriptionId"); using (var session = Context.OpenSession()) { var subscription = session.Load<ScriptEventHandler>(subscriptionId); session.Delete(subscription); session.Flush(); } return null; }
public object DeleteAlarm(HttpRequestParams request) { var id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var alarmTime = session.Load<AlarmTime>(id); session.Delete(alarmTime); session.Flush(); } Context.GetPlugin<AlarmClockPlugin>().ReloadTimes(); return null; }
public object DeleteSensor(HttpRequestParams request) { var id = request.GetRequiredGuid("id"); Logger.Debug("delete sensor: id={0}", id); using (var session = Context.OpenSession()) { var sensor = session.Load<TemperatureSensor>(id); session.Delete(sensor); session.Flush(); } return null; }
public object DeleteLocation(HttpRequestParams request) { var locationId = request.GetRequiredGuid("locationId"); using (var session = Context.OpenSession()) { var location = session.Get<Location>(locationId); if (location != null) { session.Delete(location); session.Flush(); } } return null; }
public object DeleteDashboard(HttpRequestParams request) { Guid id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var dashboard = session.Get<Dashboard>(id); if (dashboard != null) { session.Delete(dashboard); session.Flush(); } } return null; }
public object SetAlarmState(HttpRequestParams request) { var id = request.GetRequiredGuid("id"); var enabled = request.GetRequiredBool("enabled"); using (var session = Context.OpenSession()) { var alarmTime = session.Get<AlarmTime>(id); alarmTime.Enabled = enabled; session.Save(alarmTime); session.Flush(); } Context.GetPlugin<AlarmClockPlugin>().ReloadTimes(); return null; }
public object EditorDeleteWidget(HttpRequestParams request) { Guid id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var widget = session.Get<Widget>(id); if (widget != null) { session.Delete(widget); session.Flush(); } } return null; }
public object EditorCreateWidget(HttpRequestParams request) { var panelId = request.GetRequiredGuid("panel"); var type = request.GetRequiredString("type"); using (var session = Context.OpenSession()) { var panel = session.Query<Panel>().Fetch(p => p.Dashboard).Single(x => x.Id == panelId); var model = GetEditorModel(type, panel, session); return new { info = model.Item1, fields = model.Item2 }; } }
public object EditorCreateWidget(HttpRequestParams request) { var dashboardId = request.GetRequiredGuid("dashboard"); var type = request.GetRequiredString("type"); using (var session = Context.OpenSession()) { var dashboard = session.Query<Dashboard>().Single(x => x.Id == dashboardId); var model = GetEditorModel(type, dashboard.Id, dashboard.Title, session); return new { info = model.Item1, fields = model.Item2 }; } }
public object DeletePanel(HttpRequestParams request) { Guid id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var panel = session.Get<Panel>(id); if (panel != null) { session.Delete(panel); session.Flush(); } } return null; }
public object DeleteMessage(HttpRequestParams request) { var id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var message = session.Load<ReceivedData>(id); if (message != null) { Logger.Debug("delete mqtt message: path={0}", message.Path); session.Delete(message); session.Flush(); } } return null; }
public object RenamePanel(HttpRequestParams request) { Guid id = request.GetRequiredGuid("id"); string title = request.GetRequiredString("title"); using (var session = Context.OpenSession()) { var panel = session.Get<Panel>(id); if (panel != null) { panel.Title = title; session.Save(panel); session.Flush(); } } return null; }
public object CreatePanel(HttpRequestParams request) { Guid dashboardId = request.GetRequiredGuid("dashboard"); string title = request.GetRequiredString("title"); using (var session = Context.OpenSession()) { var dashboard = session.Load<Dashboard>(dashboardId); var panel = new Panel { Id = Guid.NewGuid(), Title = title, Dashboard = dashboard, SortOrder = int.MaxValue }; session.Save(panel); session.Flush(); return panel.Id; } }
public object AddSubscription(HttpRequestParams request) { string eventAlias = request.GetRequiredString("eventAlias"); Guid scriptId = request.GetRequiredGuid("scriptId"); using (var session = Context.OpenSession()) { var guid = Guid.NewGuid(); var script = session.Load<UserScript>(scriptId); var subscription = new ScriptEventHandler { Id = guid, EventAlias = eventAlias, UserScript = script }; session.Save(subscription); session.Flush(); return guid; } }
public object GetSensorDetails(HttpRequestParams request) { var sensorId = request.GetRequiredGuid("id"); var now = DateTime.Now; var from = now.AddHours(-PERIOD); using (var session = Context.OpenSession()) { var sensor = session.Query<TemperatureSensor>().First(s => s.Id == sensorId); var data = session.Query<TemperatureData>() .Where(d => d.Sensor.Id == sensor.Id && d.CurrentDate > from) .OrderByDescending(d => d.CurrentDate) .ToList(); return CreateSensorDetailsItemModel(sensor, data, now); } }
private Widget CreateWidget(HttpRequestParams request, ISession session) { var type = request.GetRequiredString("type"); var panelId = request.GetRequiredGuid("panelId"); var panel = session.Query<Panel>().Single(x => x.Id == panelId); var created = new Widget { Id = Guid.NewGuid(), Panel = panel, TypeAlias = type, SortOrder = int.MaxValue }; return created; }
public object RunScript(HttpRequestParams request) { Guid scriptId = request.GetRequiredGuid("scriptId"); using (var session = Context.OpenSession()) { var script = session.Get<UserScript>(scriptId); Context.GetPlugin<ScriptsPlugin>().ExecuteScript(script, new object[0]); } return null; }
public object UpdateLocationWeather(HttpRequestParams request) { var locationId = request.GetRequiredGuid("locationId"); Context.GetPlugin<WeatherPlugin>().ReloadWeatherData(locationId); return null; }
private Widget CreateWidget(HttpRequestParams request, ISession session) { var type = request.GetRequiredString("type"); var dashboardId = request.GetRequiredGuid("dashboardId"); var dashboard = session.Query<Dashboard>().Single(x => x.Id == dashboardId); var created = new Widget { Id = Guid.NewGuid(), Dashboard = dashboard, TypeAlias = type, SortOrder = int.MaxValue }; return created; }