+
My Jobs
+
+
+
+
+ Type |
+ Date |
+ Status |
+ Link |
+
+
+
+ @foreach (var transaction in Model.MyItems)
+ {
+
+ @transaction.Type |
+ @transaction.Date.ToShortDateString() |
+ @transaction.Status |
+ Link |
+
+ }
diff --git a/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml.cs b/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml.cs
index 9c22ecb..1ac0df7 100644
--- a/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml.cs
+++ b/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml.cs
@@ -1,3 +1,4 @@
+using EnotaryoPH.Data;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
@@ -5,8 +6,54 @@ namespace EnotaryoPH.Web.Pages.Notary.Dashboard
{
public class DashboardModel : PageModel
{
- public void OnGet()
+ private readonly NotaryoDBContext _dbContext;
+ private readonly ICurrentUserService _currentUserService;
+
+ public DashboardModel(NotaryoDBContext dbContext, ICurrentUserService currentUserService)
{
+ _dbContext = dbContext;
+ _currentUserService = currentUserService;
}
+
+ public IActionResult OnGet()
+ {
+ var currentUser = _dbContext.Users
+ .Single(u => u.User_UID == _currentUserService.GetUser_UID());
+
+ AvailableItems = _dbContext.Transactions
+ .Include(t => t.TransactionDocument)
+ .Include(t => t.Lawyer)
+ .Include(t => t.PreferredLawyer)
+ .Where(t => t.Status == nameof(TransactionState.Submitted) && t.Lawyer.UserID != currentUser.UserID && t.PreferredLawyer.UserID != currentUser.UserID)
+ .Select(t => new DashboardItem
+ {
+ Date = t.TransactionDate,
+ Link = $"/Notary/TransactionStatus/{t.Transaction_UID}",
+ Status = t.Status,
+ Type = t.TransactionDocument.DocumentType
+ })
+ .OrderByDescending(t => t.Date)
+ .ToList();
+
+ MyItems = _dbContext.Transactions
+ .Include(t => t.TransactionDocument)
+ .Include(t => t.Lawyer)
+ .Include(t => t.PreferredLawyer)
+ .Where(t => (t.Status == nameof(TransactionState.Submitted) && t.PreferredLawyer.UserID == currentUser.UserID) || (t.Status == nameof(TransactionState.Accepted) && t.Lawyer.UserID == currentUser.UserID))
+ .Select(t => new DashboardItem
+ {
+ Date = t.TransactionDate,
+ Link = t.Status == nameof(TransactionState.Accepted) ? $"/Participant/VideoCall/Room/{t.Transaction_UID}" : $"/Notary/TransactionStatus/{t.Transaction_UID}",
+ Status = t.Status,
+ Type = t.TransactionDocument.DocumentType
+ })
+ .OrderByDescending(t => t.Date)
+ .ToList();
+
+ return Page();
+ }
+
+ public List
AvailableItems { get; set; }
+ public List MyItems { get; set; }
}
-}
+}
\ No newline at end of file
diff --git a/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/DashboardItem.cs b/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/DashboardItem.cs
new file mode 100644
index 0000000..7d7a403
--- /dev/null
+++ b/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/DashboardItem.cs
@@ -0,0 +1,10 @@
+namespace EnotaryoPH.Web.Pages.Notary.Dashboard
+{
+ public class DashboardItem
+ {
+ public DateTime Date { get; set; }
+ public string Link { get; set; }
+ public string Status { get; set; }
+ public string Type { get; set; }
+ }
+}
\ No newline at end of file