summaryrefslogtreecommitdiff
path: root/Pages/Report.cshtml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Pages/Report.cshtml.cs')
-rw-r--r--Pages/Report.cshtml.cs28
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>();