public object LoadEditor(HttpRequestParams request) { var id = request.GetGuid("id"); using (var session = Context.OpenSession()) { var scriptList = session .Query<UserScript>() .Select(s => new { id = s.Id, name = s.Name }) .ToArray(); if (id.HasValue) { var alarm = session.Get<AlarmTime>(id.Value); return BuildEditorModel( scriptList, alarm.Id, alarm.Name, alarm.Hours, alarm.Minutes, alarm.Enabled, alarm.UserScript.GetPropertyOrDefault(obj => (Guid?)obj.Id) ); } return BuildEditorModel(scriptList); } }
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 GetDashboardDetails(HttpRequestParams request) { Guid? id = request.GetGuid("id"); using (var session = Context.OpenSession()) { var allDashboards = session.Query<Dashboard>().ToArray(); if (allDashboards.Any()) { var selected = id.HasValue ? allDashboards.Single(d => d.Id == id.Value) : allDashboards.First(); var dashboardList = GetDashboardListModel(allDashboards, selected.Id); var allPanels = session.Query<Panel>() .Where(w => w.Dashboard.Id == selected.Id) .ToArray(); var allWidgets = session.Query<Widget>() .Where(w => w.Panel.Dashboard.Id == selected.Id) .ToArray(); var allParameters = session.Query<WidgetParameter>() .Where(w => w.Widget.Panel.Dashboard.Id == selected.Id) .ToArray(); var panelList = GetPanelListModel(allPanels, allWidgets, allParameters, session); return new { dashboards = dashboardList, panels = panelList }; } return null; } }
public object SaveAlarm(HttpRequestParams request) { var id = request.GetGuid("id"); var name = request.GetString("name"); var hours = request.GetRequiredInt32("hours"); var minutes = request.GetRequiredInt32("minutes"); var scriptId = request.GetGuid("scriptId"); using (var session = Context.OpenSession()) { var alarmTime = id.HasValue ? session.Get<AlarmTime>(id.Value) : new AlarmTime { Id = Guid.NewGuid() }; var script = scriptId.HasValue ? session.Load<UserScript>(scriptId.Value) : null; alarmTime.Name = name; alarmTime.Hours = hours; alarmTime.Minutes = minutes; alarmTime.UserScript = script; alarmTime.Enabled = true; session.Save(alarmTime); session.Flush(); } Context.GetPlugin<AlarmClockPlugin>().ReloadTimes(); return null; }
private Widget SaveWidget(HttpRequestParams request, ISession session) { var id = request.GetGuid("id"); var widget = id.HasValue ? session.Query<Widget>().Single(x => x.Id == id) : CreateWidget(request, session); widget.DisplayName = request.GetString("displayName") ?? "noname"; session.Save(widget); session.Flush(); return widget; }