esh/esh.core.web/Pages/Config.cshtml.cs
2019-08-16 14:02:40 +02:00

42 lines
1.7 KiB
C#

using System.Linq;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace esh.core.web.Pages
{
public class Config : PageModel
{
public void OnGet()
{
if (Request.Query.ContainsKey("action") && Request.Query["action"] == "modify")
{
if (Request.Query.ContainsKey("sensor") && Web.Core.Sensors.Any(p => p.Mac == Request.Query["sensor"]))
{
var sensor = Web.Core.Sensors.First(p => p.Mac == Request.Query["sensor"]);
if (Request.Query.ContainsKey("name"))
sensor.CustomName = Request.Query["name"];
if (Request.Query.ContainsKey("description"))
sensor.CustomDescription = Request.Query["description"];
Response.Redirect("/Sensors");
}
else if (Request.Query.ContainsKey("actor") && Web.Core.Actors.Any(p => p.Mac == Request.Query["actor"]))
{
var actor = Web.Core.Actors.First(p => p.Mac == Request.Query["actor"]);
if (Request.Query.ContainsKey("name"))
actor.CustomName = Request.Query["name"];
if (Request.Query.ContainsKey("description"))
actor.CustomDescription = Request.Query["description"];
Response.Redirect("/Actors");
}
return;
}
if (Request.Query.ContainsKey("sensor") && Web.Core.Sensors.Any(p => p.Mac == Request.Query["sensor"]) ||
Request.Query.ContainsKey("actor") && Web.Core.Actors.Any(p => p.Mac == Request.Query["actor"]) ||
Request.Query.ContainsKey("trigger") && (Request.Query["trigger"] == "new" ||
Web.Core.Triggers.Any(p => p.id == Request.Query["trigger"])))
return;
Response.Redirect("/");
Response.StatusCode = StatusCodes.Status400BadRequest;
}
}
}