profileShare

rasmusjy / splitapp-backend-clean-onion

Read-only snapshot

No repository description.

main default branch 429 files Expires Sep 13, 2026, 9:06 AM
AdminDashboardData.cs 2,428 bytes
1 using App.BLL.DTO;
2
3 namespace App.BLL.Services.Admin;
4
5 public class AdminDashboardData
6 {
7 public int TripCount { get; set; }
8 public int UserCount { get; set; }
9 public int ExpenseCount { get; set; }
10 public int CategoryCount { get; set; }
11 public int SettlementCount { get; set; }
12 public int WishlistCount { get; set; }
13 public int PollCount { get; set; }
14 public int InvitationCount { get; set; }
15 public int CurrencyCount { get; set; }
16 public int ParticipantCount { get; set; }
17
18 public int ActiveTrips { get; set; }
19 public int SettledTrips { get; set; }
20 public int ArchivedTrips { get; set; }
21 public decimal TotalExpenseAmount { get; set; }
22 public int PendingSettlements { get; set; }
23 public int InProgressSettlements { get; set; }
24 public int CompletedSettlements { get; set; }
25 public int PendingInvitations { get; set; }
26 public int PendingPayments { get; set; }
27 public int MarkedPaidPayments { get; set; }
28
29 public List<TripBllDto> RecentTrips { get; set; } = new();
30 public List<ExpenseBllDto> RecentExpenses { get; set; } = new();
31 public List<AppUserBllDto> RecentUsers { get; set; } = new();
32
33 public List<AdminTopActiveTripItem> TopActiveTrips { get; set; } = new();
34 public List<ExpenseBllDto> BiggestExpenses { get; set; } = new();
35 public int NewUsersLast7Days { get; set; }
36 public int NewUsersLast30Days { get; set; }
37 public List<AdminTopActiveUserItem> TopActiveUsers { get; set; } = new();
38 public List<AdminActivityFeedItem> ActivityFeed { get; set; } = new();
39 }
40
41 public class AdminTopActiveTripItem
42 {
43 public TripBllDto Trip { get; set; } = default!;
44 public int ParticipantCount { get; set; }
45 public decimal ExpenseSum { get; set; }
46 public int ExpenseCount { get; set; }
47 }
48
49 public class AdminTopActiveUserItem
50 {
51 public Guid UserId { get; set; }
52 public string Email { get; set; } = "";
53 public string FullName { get; set; } = "";
54 public int ExpenseCount { get; set; }
55 public decimal TotalAmount { get; set; }
56 }
57
58 public class AdminActivityFeedItem
59 {
60 public string Type { get; set; } = "";
61 public string MessageKey { get; set; } = "";
62 public object[] MessageArgs { get; set; } = Array.Empty<object>();
63 public DateTime Date { get; set; }
64 public string IconCssClass { get; set; } = "bi-circle";
65 public string BadgeCssClass { get; set; } = "bg-secondary";
66 }
67