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); } }
public async Task <TResult> RequestAsync(HttpRequestParams parameters) { httpClientHandler.CookieContainer.SetCookies(new Uri("http://www.youtube.com"), parameters.Cookies.Replace(';', ',')); var result = await httpClient.SendAsync(GetRequestMessage(parameters)); return(await ProcessResultAsync(result)); }
public object GetSensorTable(HttpRequestParams request) { using (var session = Context.OpenSession()) { var info = new { host = MqttPlugin.Host, port = MqttPlugin.Port, path = MqttPlugin.Path }; var messages = session .Query <ReceivedData>() .OrderBy(m => m.Path) .Select(m => new { id = m.Id, path = m.Path, message = m.Message, timestamp = m.Timestamp }).ToList(); return(new { info, messages }); } }
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 EditorOpenWidget(HttpRequestParams request) { var id = request.GetRequiredGuid("id"); using (var session = Context.OpenSession()) { var widget = session.Query <Widget>() .Fetch(a => a.Dashboard) .Single(x => x.Id == id); var model = GetEditorModel(widget.TypeAlias, widget.Dashboard.Id, widget.Dashboard.Title, session); var parameters = session.Query <WidgetParameter>() .Where(x => x.Widget.Id == id) .ToArray(); FillEditorModel(model, widget, parameters); return(new { info = model.Item1, fields = model.Item2 }); } }
public object GetTiles(HttpRequestParams request) { using (var session = Context.OpenSession()) { var result = new List <TileModel>(); var tiles = session.Query <Tile>().OrderBy(t => t.SortOrder).ToList(); foreach (var obj in tiles) { TileDefinition def; if (availableTiles.TryGetValue(obj.HandlerKey, out def)) { var model = new TileModel(obj.Id); try { var options = obj.GetParameters(); def.FillModel(model, options); } catch (Exception ex) { model.content = ex.Message; } result.Add(model); } } return(result.ToArray()); } }
public object AddTile(HttpRequestParams request) { var strDef = request.GetRequiredString("def"); var strOptions = request.GetString("options"); TileDefinition def; if (!availableTiles.TryGetValue(strDef, out def)) { throw new Exception(string.Format("invalid tile definition: {0}", strDef)); } using (var session = Context.OpenSession()) { var lastTile = session.Query <Tile>() .OrderByDescending(t => t.SortOrder) .FirstOrDefault(); int sortOrder = lastTile == null ? 0 : lastTile.SortOrder + 1; var tile = new Tile { Id = Guid.NewGuid(), HandlerKey = strDef, SortOrder = sortOrder, SerializedParameters = strOptions }; session.Save(tile); session.Flush(); } return(null); }
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 AddSubscription(HttpRequestParams request) { var scriptId = request.GetRequiredGuid("scriptId"); var eventAlias = request.GetRequiredString("eventAlias"); var database = Context.Require <DatabasePlugin>(); if (!database.IsInitialized) { return(null); } using (var session = database.OpenSession()) { var guid = Guid.NewGuid(); var subscription = new ScriptEventHandler { Id = guid, EventAlias = eventAlias, UserScriptId = scriptId }; session.Set <ScriptEventHandler>().Add(subscription); session.SaveChanges(); return(guid); } }
public object UnInstall(HttpRequestParams request) { string packageId = request.GetRequiredString("packageId"); Context.PackageManager.UnInstall(packageId); return(null); }
public HttpResponseMessage Index() { try { // Debugger.Launch(); string localPath = Request.RequestUri.LocalPath; logger.Info("execute action: {0};", localPath); ListenerHandler handler; if (!handlers.TryGetValue(localPath, out handler)) { var message = string.Format("handler for url '{0}' is not found", localPath); throw new Exception(message); } HttpRequestParams parameters = GetRequestParams(Request); HttpResponseMessage response = handler.ProcessRequest(parameters); return(response); } catch (Exception ex) { logger.ErrorException(ex.Message, ex); throw; } }
public object SendEmail(HttpRequestParams requestParams) { Context.Require <MailPlugin>() .SendMail("*****@*****.**", "test2", Guid.NewGuid().ToString()); return(null); }
private void SaveWidgetFields(Widget widget, HttpRequestParams request, ISession session) { var def = defs.GetValueOrDefault(widget.TypeAlias); if (def != null) { session.Query <WidgetParameter>() .Where(p => p.Widget.Id == widget.Id) .ForEach(session.Delete); session.Flush(); var fields = def.GetWidgetMetaData(session, Logger) ?? new WidgetParameterMetaData[0]; var json = request.GetRequiredString("json"); var values = Extensions.FromJson <Dictionary <string, string> >(json); foreach (var field in fields) { var value = values.GetValueOrDefault(field.Name); CreateParameter(session, widget, field, value); } session.Flush(); } }
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 object LoadParams(HttpRequestParams request) { return(new { lang = AppLang.Lang, css = cssFiles }); }
public HttpHandlerResult TmpHandlerMethod42(HttpRequestParams requestParams) { return(HttpHandlerResult.Json(new { answer = 42, name = requestParams.GetString("name") })); }
public object AddTile(HttpRequestParams request) { var xxx = request.GetInt32("value"); Context.GetPlugin <WebUiTilesPlugin>().AddTile <TestTileDefinition>(new { xxx }); return(null); }
public object GetPackages(HttpRequestParams request) { string query = request.GetString("query"); var list = Context.PackageManager.GetPackages(query); return(list.Select(BuildModel).Where(x => x != null).ToArray()); }
public object UpdateLocationWeather(HttpRequestParams request) { var locationId = request.GetRequiredGuid("locationId"); Context.GetPlugin <WeatherPlugin>().ReloadWeatherData(locationId); return(null); }
public object GetUrlErrors(HttpRequestParams requestParams) { var sb = new StringBuilder(); errors.ForEach(msg => sb.AppendLine(msg)); return(sb); }
public HttpHandlerResult GetUrlErrors(HttpRequestParams requestParams) { var sb = new StringBuilder(); errors.ForEach(msg => sb.AppendLine(msg)); return(HttpHandlerResult.Text(sb.ToString())); }
public object TmpHandlerMethod43(HttpRequestParams requestParams) { using (var db = Context.Require <DatabasePlugin>().OpenSession()) { return(db.Set <SmallPig>() .Select(pig => new { id = pig.Id, name = pig.Name, size = pig.Size }) .ToList()); } }
public HttpHandlerResult TmpSendMqttMessage(HttpRequestParams requestParams) { var topic = requestParams.GetString("topic") ?? "test"; var msg = requestParams.GetString("msg") ?? "mumu"; mqtt.Publish(topic, msg); return(null); }
public object AddTile(HttpRequestParams request) { var strDef = request.GetRequiredString("def"); var strOptions = request.GetString("options"); AddTile(strDef, strOptions); return(null); }
public override HttpContent GetContent(HttpRequestParams parameters) { object result = action(parameters); string json = JsonConvert.SerializeObject(result); HttpContent content = new StringContent(json, Encoding.UTF8, "application/json"); return(content); }
public HttpRequest() { Protocol = DEFAULT_HTTP_PROTOCOL; GET = new HttpRequestParams(); POST = new HttpRequestParams(); FILES = new HttpFormFiles(); Headers = new HttpRequestHeaders(); Cookies = new HttpCookies(); }
public object GetCameraImage(HttpRequestParams request) { var cameraIp = ConfigurationManager.AppSettings["testCameraIP"]; var bytes = GetImage(cameraIp, "admin", ""); return(new { url = string.Format("data:image/jpeg;base64,{0}", Convert.ToBase64String(bytes)) }); }
public object GetWeather(HttpRequestParams request) { var now = DateTime.Now; WeatherLocatioinModel[] weatherData = Context .GetPlugin <WeatherPlugin>() .GetWeatherData(now); return(weatherData.Select(BuildLocationModel).ToArray()); }
public override HttpContent GetContent(HttpRequestParams parameters) { var resource = PrepareResource(); var content = new ByteArrayContent(resource); content.Headers.ContentType = new MediaTypeHeaderValue(contentType); return(content); }
public object GetDashboardList(HttpRequestParams request) { using (var session = Context.OpenSession()) { var allDashboards = session.Query <Dashboard>().ToArray(); var list = GetDashboardListModel(allDashboards); return(list); } }