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); }
public HttpHandlerResult SaveScript(HttpRequestParams request) { var id = request.GetGuid("id"); var name = request.GetRequiredString("name"); var body = request.GetRequiredString("body"); using (var session = database.OpenSession()) { UserScript script; if (id.HasValue) { script = session.Set<UserScript>().Single(s => s.Id == id.Value); } else { script = new UserScript { Id = Guid.NewGuid() }; session.Set<UserScript>().Add(script); } script.Name = name; script.Body = body; session.SaveChanges(); return HttpHandlerResult.Json(new { scriptId = script.Id }); } }
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) { var id = request.GetGuid("id"); var name = request.GetRequiredString("name"); var body = request.GetRequiredString("body"); using (var session = Context.Require <DatabasePlugin>().OpenSession()) { UserScript script; if (id.HasValue) { script = session.Set <UserScript>().Single(s => s.Id == id.Value); } else { script = new UserScript { Id = Guid.NewGuid() }; session.Set <UserScript>().Add(script); } script.Name = name; script.Body = body; session.SaveChanges(); return(script.Id); } }
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") ?? string.Empty; session.Save(widget); session.Flush(); return(widget); }
public object SaveTask(HttpRequestParams request) { var id = request.GetGuid("id"); var name = request.GetRequiredString("name"); var eventAlias = request.GetString("eventAlias"); var month = request.GetInt32("month"); var day = request.GetInt32("day"); var hour = request.GetInt32("hour"); var minute = request.GetInt32("minute"); var enabled = request.GetRequiredBool("enabled"); using (var session = Context.Require <DatabasePlugin>().OpenSession()) { CronTask task; if (id.HasValue) { task = session.Set <CronTask>().Single(s => s.Id == id.Value); } else { task = new CronTask { Id = Guid.NewGuid() }; session.Set <CronTask>().Add(task); } task.Name = name; task.EventAlias = eventAlias; task.Enabled = enabled; task.Month = month; task.Day = day; task.Hour = hour; task.Minute = minute; session.SaveChanges(); // reset cron event cache Context.Require <CronPlugin>().ReloadTasks(); return(task.Id); } }
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 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); }