Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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 });
            }
        }
Ejemplo n.º 3
0
        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));
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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);
        }