using System.ComponentModel.Design; using System.Diagnostics.CodeAnalysis; using System.Text.Json; using Flurl.Util; using InnovEnergy.App.Backend.Database; using InnovEnergy.Lib.Victron.VictronVRM; using Microsoft.AspNetCore.Mvc; namespace InnovEnergy.App.Backend.Controllers; using Token = String; [ApiController] [Route("api/")] public class Controller : ControllerBase { [HttpPost(nameof(GetInstallation))] [UnconditionalSuppressMessage("Trimming", "IL2026:Members annotated with 'RequiresUnreferencedCodeAttribute' require dynamic access otherwise can break functionality when trimming application code", Justification = "")] public Object GetInstallation(String serialNumber) { foreach (var detailList in Db.InstallationsAndDetails.Values.ToList().Select((Value, Index) => new {Value, Index})) { if (detailList.Value.All(detail => detail.FormattedValue != serialNumber)) continue; var retour = JsonSerializer.Serialize(Db.InstallationsAndDetails.Keys.ToList()[detailList.Index]); retour += JsonSerializer.Serialize(detailList.Value); return retour; } return new NotFoundResult(); } }