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