From 585c4acc8562df02eed5e2d05dc4bcb4222b3986 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 8 Jan 2026 16:47:34 +0000
Subject: [PATCH 1/3] Initial plan
From 53a0ba36c8e000aa0cacf4bf5d023847e8046120 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 8 Jan 2026 16:54:36 +0000
Subject: [PATCH 2/3] Add Merchant Settlement History feature with models,
queries, and UI page
Co-authored-by: StuartFerguson <16325469+StuartFerguson@users.noreply.github.com>
---
.../Components/Pages/Reporting/Index.razor | 8 +
.../Reporting/MerchantSettlementHistory.razor | 276 ++++++++++++++++++
.../Models/Models.cs | 9 +
.../Requests/Requests.cs | 1 +
.../Services/TestMediatorService.cs | 66 +++++
5 files changed, 360 insertions(+)
create mode 100644 EstateManagementUI.BlazorServer/Components/Pages/Reporting/MerchantSettlementHistory.razor
diff --git a/EstateManagementUI.BlazorServer/Components/Pages/Reporting/Index.razor b/EstateManagementUI.BlazorServer/Components/Pages/Reporting/Index.razor
index 40bb4505..68afbd96 100644
--- a/EstateManagementUI.BlazorServer/Components/Pages/Reporting/Index.razor
+++ b/EstateManagementUI.BlazorServer/Components/Pages/Reporting/Index.razor
@@ -82,6 +82,14 @@
+
+
Historical settlement visibility per merchant
+Total Settlements
+@settlements.Count
+Total Transactions
+@settlements.Sum(s => s.TransactionCount).ToString("N0")
+Total Amount Paid
+@settlements.Sum(s => s.NetAmountPaid).ToString("C")
+Average Settlement
+@((settlements.Sum(s => s.NetAmountPaid) / settlements.Count).ToString("C"))
+| Settlement Date | +Settlement Reference | +Transaction Count | +Net Amount Paid | +
|---|---|---|---|
| + @settlement.SettlementDate.ToString("MMM dd, yyyy") + | ++ @settlement.SettlementReference + | ++ @settlement.TransactionCount.ToString("N0") + | ++ @settlement.NetAmountPaid.ToString("C") + | +
No settlement history found for the selected criteria
+Try adjusting your date range or merchant selection
+Transaction history will be displayed here
} + else if (activeTab == "settlements") + { +Total Settlements
+@settlements.Count
+Total Transactions
+@settlements.Sum(s => s.TransactionCount).ToString("N0")
+Total Paid
+@settlements.Sum(s => s.NetAmountPaid).ToString("C")
+| Date | +Reference | +Transactions | +Amount | +
|---|---|---|---|
| @settlement.SettlementDate.ToString("MMM dd, yyyy") | +@settlement.SettlementReference | +@settlement.TransactionCount.ToString("N0") | +@settlement.NetAmountPaid.ToString("C") | +
No settlement history available
+ } +