diff --git a/src/BackOffice/BackOffice.csproj b/src/BackOffice/BackOffice.csproj
index 4fc3546..080f774 100644
--- a/src/BackOffice/BackOffice.csproj
+++ b/src/BackOffice/BackOffice.csproj
@@ -143,7 +143,7 @@
-
+
diff --git a/src/BackOffice/Pages/Commission/WeeklyReports.razor b/src/BackOffice/Pages/Commission/WeeklyReports.razor
index b97d595..75df16b 100644
--- a/src/BackOffice/Pages/Commission/WeeklyReports.razor
+++ b/src/BackOffice/Pages/Commission/WeeklyReports.razor
@@ -65,6 +65,11 @@
SortMode="SortMode.Multiple">
+
+
+ @(string.IsNullOrEmpty(context.Item.PackageTitle) ? "—" : context.Item.PackageTitle)
+
+
@context.Item.TotalPoolAmount.ToString("N0") تومان
@@ -203,6 +208,8 @@
{
WeekDefinitionId = x.WeekDefinitionId,
WeekDisplayName = x.WeekDisplayName,
+ PackageId = x.PackageId,
+ PackageTitle = x.PackageTitle,
TotalPoolAmount = x.TotalPoolAmount,
TotalBalances = x.TotalBalances,
ValuePerBalance = x.ValuePerBalance,
@@ -249,6 +256,8 @@
{
public long WeekDefinitionId { get; set; }
public string WeekDisplayName { get; set; } = "";
+ public long PackageId { get; set; }
+ public string PackageTitle { get; set; } = "";
public long TotalPoolAmount { get; set; }
public int TotalBalances { get; set; }
public long ValuePerBalance { get; set; }
diff --git a/src/BackOffice/Pages/Commission/WeeklyReports.razor.cs b/src/BackOffice/Pages/Commission/WeeklyReports.razor.cs
index d9a8ff1..fb5f12d 100644
--- a/src/BackOffice/Pages/Commission/WeeklyReports.razor.cs
+++ b/src/BackOffice/Pages/Commission/WeeklyReports.razor.cs
@@ -18,12 +18,13 @@ public partial class WeeklyReports
try
{
var sb = new StringBuilder();
- sb.AppendLine("هفته,مبلغ کل استخر,مجموع موجودیها,ارزش هر موجودی,وضعیت,تاریخ محاسبه");
+ sb.AppendLine("هفته,پکیج,مبلغ کل استخر,مجموع موجودیها,ارزش هر موجودی,وضعیت,تاریخ محاسبه");
foreach (var r in _reports)
{
sb.AppendLine(string.Join(",",
EscapeCsv(r.WeekDisplayName),
+ EscapeCsv(r.PackageTitle),
r.TotalPoolAmount,
r.TotalBalances,
r.ValuePerBalance,
diff --git a/src/BackOffice/Pages/Payment/LedgerTransactions.razor b/src/BackOffice/Pages/Payment/LedgerTransactions.razor
index 5448f2a..f19cbd7 100644
--- a/src/BackOffice/Pages/Payment/LedgerTransactions.razor
+++ b/src/BackOffice/Pages/Payment/LedgerTransactions.razor
@@ -96,6 +96,16 @@
+
+
+ @(context.Item.UserId != null ? context.Item.UserId.ToString() : "—")
+
+
+
+
+ @(string.IsNullOrWhiteSpace(context.Item.UserFullName) ? "—" : context.Item.UserFullName)
+
+
@@ -232,13 +242,13 @@
Filter = BuildFilter()
});
var sb = new System.Text.StringBuilder();
- sb.AppendLine("Id,Type,Amount,Description,Status,RefId,PaymentDate,Created");
+ sb.AppendLine("Id,UserId,UserFullName,Type,Amount,Description,Status,RefId,PaymentDate,Created");
foreach (var r in result.Models)
{
var type = r.HasType ? ReportLabels.GetTransactionTypeLabel(r.Type) : "";
var status = r.HasPaymentStatus ? ReportLabels.GetTransactionPaymentStatusLabel(r.PaymentStatus) : "";
var paymentDate = r.PaymentDate != null ? r.PaymentDate.ToDateTime().ToString("yyyy-MM-dd HH:mm") : "";
- sb.AppendLine($"{r.Id},{type},{r.Amount},\"{r.Description}\",{status},{r.RefId},{paymentDate},{r.Created.ToDateTime():yyyy-MM-dd HH:mm}");
+ sb.AppendLine($"{r.Id},{r.UserId},\"{r.UserFullName}\",{type},{r.Amount},\"{r.Description}\",{status},{r.RefId},{paymentDate},{r.Created.ToDateTime():yyyy-MM-dd HH:mm}");
}
await jsRuntime.InvokeVoidAsync("jsSaveAsFile", "ledger-transactions.csv", sb.ToString());
}
diff --git a/src/BackOffice/Pages/Payment/Transactions.razor b/src/BackOffice/Pages/Payment/Transactions.razor
index f25ecd1..9967301 100644
--- a/src/BackOffice/Pages/Payment/Transactions.razor
+++ b/src/BackOffice/Pages/Payment/Transactions.razor
@@ -82,6 +82,11 @@
+
+
+ @(string.IsNullOrWhiteSpace(context.Item.UserFullName) ? "—" : context.Item.UserFullName)
+
+
@@ -193,9 +198,9 @@
Filter = BuildFilter()
});
var sb = new System.Text.StringBuilder();
- sb.AppendLine("Id,UserId,Mobile,Gateway,Amount,Authority,RefId,Status,OrderId,Created");
+ sb.AppendLine("Id,UserId,UserFullName,Mobile,Gateway,Amount,Authority,RefId,Status,OrderId,Created");
foreach (var r in result.Models)
- sb.AppendLine($"{r.Id},{r.UserId},{r.Mobile},{r.GatewayProvider},{r.Amount},{r.Authority},{r.RefId},{r.PaymentStatus},{r.OrderId},{r.CreatedAt.ToDateTime():yyyy-MM-dd HH:mm}");
+ sb.AppendLine($"{r.Id},{r.UserId},\"{r.UserFullName}\",{r.Mobile},{r.GatewayProvider},{r.Amount},{r.Authority},{r.RefId},{r.PaymentStatus},{r.OrderId},{r.CreatedAt.ToDateTime():yyyy-MM-dd HH:mm}");
await jsRuntime.InvokeVoidAsync("jsSaveAsFile", "payment-transactions.csv", sb.ToString());
}
catch (Exception ex) { Snackbar.Add($"خطا در export: {ex.Message}", Severity.Error); }