diff options
author | Ian C <ianc@noddybox.co.uk> | 2024-03-27 21:20:45 +0000 |
---|---|---|
committer | Ian C <ianc@noddybox.co.uk> | 2024-03-27 21:20:45 +0000 |
commit | ab65bdaf1b5e2c6e4dd2523708739465b86d08d6 (patch) | |
tree | 2ea3f6e6396ef615a337e8533067cd4517e747bc /Pages/Report.cshtml.cs | |
parent | 57acc97e1f9d76c2edbb4eeabae4ea3dd635bb77 (diff) |
Diffstat (limited to 'Pages/Report.cshtml.cs')
-rw-r--r-- | Pages/Report.cshtml.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Pages/Report.cshtml.cs b/Pages/Report.cshtml.cs index 76cfabf..d40f89d 100644 --- a/Pages/Report.cshtml.cs +++ b/Pages/Report.cshtml.cs @@ -19,6 +19,9 @@ using Microsoft.AspNetCore.Mvc.RazorPages; using Npgsql; using System.Collections.Generic; using download_admin; +using Microsoft.AspNetCore.Http.HttpResults; +using System.Text; +using System.Text.Encodings; namespace download_admin.Pages; @@ -27,7 +30,32 @@ public class ReportModel : PageModel public void OnGet() { ViewData["Title"] = "Download Repsoitory Report"; + GetData(); + } + + public IActionResult OnPost() + { + GetData(); + + StringBuilder str = new StringBuilder(); + + foreach (var row in Rows) + { + str.AppendFormat("{0},{1}", row.Time.ToString("o", System.Globalization.CultureInfo.InvariantCulture), row.Key); + foreach (var s in row.Info) + { + str.AppendFormat(",{0}", s); + } + str.AppendLine(); + } + byte[] file_data = UTF8Encoding.UTF8.GetBytes(str.ToString()); + + return File(file_data, "text/csv","downloads.csv"); + } + + private void GetData() + { try { Rows = new List<Download>(); |