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.GetValueOrDefault(obj => (Guid?)obj.Id) ); } return BuildEditorModel(scriptList); } }
private object apiSaveScript(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 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; }