[HttpGet("api/snipper/saldo")]
public async Task<IActionResult> GetSnipperSaldoInfoHtml()
{
var info = await GetSnipperSaldoInfo();
var data = Select(
Select<object>("Huidig snipper-saldo", FormatNumber(info.SaldoNow)),
Select<object>("Huidig tijd-voor-tijd saldo", FormatNumber(info.SaldoTVT)),
Select<object>("Saldo totaal dit jaar", FormatNumber(info.SaldoTotalThisYear))
);
return Content(GetHtmlTable(data), "text/html");
}
public static string FormatNumber(double d) => FormattableString.Invariant($"{Math.Round(d, 2):0.00}");
public static IEnumerable<T> Select<T>(params T[] args) => args;
private static string GetHtmlTable(IEnumerable<IEnumerable<object>> data)
{
var sb = new StringBuilder();
sb.AppendLine("<style>table {width: 300px;} td:nth-child(2) {text-align:right;}</style>");
sb.AppendLine($"<table>");
foreach(var row in data)
{
sb.AppendLine($"<tr>");
foreach (var cell in row)
sb.AppendLine($"<td>{cell}</td>");
sb.AppendLine($"</tr>");
}
sb.AppendLine($"</table>");
return sb.ToString();
}
481300cookie-checkC# Build Simple Html Table