36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
|
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 = "<Pending>")]
|
||
|
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();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|