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 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); }
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); } }