public object AddSensor(HttpRequestParams request) { var displayName = request.GetRequiredString("displayName"); var channel = request.GetRequiredInt32("channel"); var showHumidity = request.GetRequiredBool("showHumidity"); Logger.Debug("add sensor: channel={0}; displayName={1}; showHumidity={2}", channel, displayName, showHumidity); using (var session = Context.OpenSession()) { var sensor = new TemperatureSensor { Id = Guid.NewGuid(), Channel = channel, DisplayName = displayName, ShowHumidity = showHumidity, Timestamp = DateTime.Now }; session.Save(sensor); session.Flush(); return sensor.Id; } }
public object UnInstall(HttpRequestParams request) { string packageId = request.GetRequiredString("packageId"); Context.PackageManager.UnInstall(packageId); return null; }
public object AddLocation(HttpRequestParams request) { var displayName = request.GetRequiredString("displayName"); var query = request.GetRequiredString("query"); using (var session = Context.OpenSession()) { var location = new Location { Id = Guid.NewGuid(), DisplayName = displayName, Query = query }; session.Save(location); session.Flush(); } return null; }
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 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 CreateDashboard(HttpRequestParams request) { string title = request.GetRequiredString("title"); using (var session = Context.OpenSession()) { var dashboard = new Dashboard { Id = Guid.NewGuid(), Title = title, SortOrder = int.MaxValue }; session.Save(dashboard); session.Flush(); return dashboard.Id; } }
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 SaveScript(HttpRequestParams request) { Guid? id = request.GetGuid("id"); string name = request.GetRequiredString("name"); string body = request.GetString("body"); using (var session = Context.OpenSession()) { var script = id.HasValue ? session.Get<UserScript>(id.Value) : new UserScript { Id = Guid.NewGuid() }; script.Name = name; script.Body = body; session.SaveOrUpdate(script); 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; } }
private void SaveWidgetFields(Widget widget, HttpRequestParams request, ISession session) { var def = defs.GetValueOrDefault(widget.TypeAlias); if (def != null) { session.Query<WidgetParameter>() .Where(p => p.Widget.Id == widget.Id) .ForEach(session.Delete); session.Flush(); var fields = def.GetWidgetMetaData(session, Logger) ?? new WidgetParameterMetaData[0]; var json = request.GetRequiredString("json"); var values = Extensions.FromJson<Dictionary<string, string>>(json); foreach (var field in fields) { var value = values.GetValueOrDefault(field.Name); CreateParameter(session, widget, field, value); } session.Flush(); } }
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; }
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; }