using System.Data.Common; using System.IdentityModel.Tokens.Jwt; using System.Web; using HandlebarsDotNet; using InnovEnergy.App.RemoteSupportConsole; using static System.Text.Json.JsonSerializer; using InnovEnergy.App.VrmGrabber.Database; using InnovEnergy.Lib.Victron.VictronVRM; using Microsoft.AspNetCore.Mvc; using FILE=System.IO.File; using VrmInstallation = InnovEnergy.Lib.Victron.VictronVRM.Installation; using Installation = InnovEnergy.App.VrmGrabber.DataTypes.Installation; using System.Diagnostics.CodeAnalysis; namespace InnovEnergy.App.VrmGrabber; [Controller] public class Controller : ControllerBase { [HttpGet] [Route("/")] [Produces("text/html")] public ActionResult Index() { String source = @"
Please wait page is still loading
" }; Handlebars.RegisterTemplate("installations", partialSource); var template = Handlebars.Compile(source); // var insts = instList.Select(i => // { // var ip = Ip(i); // return new Install( // i.Name, // ip[0], // i.Vrm, // i.Identifier, // i.Serial, // i.EscapedName, // ip[1], // LastSeen(i)); // }); var data = new { inst = instList }; var result = template(data); return new ContentResult { ContentType = "text/html", Content = result }; } private String? LastSeen(Installation installation) { return Db.GetInstallationByIdentifier(installation.Identifier)?.Details.ToString(); } [UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "