From 491f87f106071262ca02e5b0cecc9eee11bba58b Mon Sep 17 00:00:00 2001 From: jojo aquino Date: Mon, 24 Mar 2025 00:52:24 +0000 Subject: [PATCH] fix notaryo dashboard --- .../Pages/Notary/Dashboard/Dashboard.cshtml | 54 +++++++++++++------ .../Notary/Dashboard/Dashboard.cshtml.cs | 51 +++++++++++++++++- .../Pages/Notary/Dashboard/DashboardItem.cs | 10 ++++ 3 files changed, 96 insertions(+), 19 deletions(-) create mode 100644 EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/DashboardItem.cs diff --git a/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml b/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml index 3acfebd..28cf701 100644 --- a/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml +++ b/EnotaryoPH/EnotaryoPH.Web/Pages/Notary/Dashboard/Dashboard.cshtml @@ -13,7 +13,7 @@
@@ -27,29 +27,49 @@ Type Date + Status Link -@* @if (Model.CompletedDocuments.Count > 0) - { - @foreach (var item in Model.CompletedDocuments) - { - - @item.Type - @item.Date.ToShortDateString() - View - - } - } - else + @foreach (var transaction in Model.AvailableItems) { - - No records to display. - + @transaction.Type + @transaction.Date.ToShortDateString() + @transaction.Status + Link - } *@ + } + + + + + + +
+
+

My Jobs

+
+ + + + + + + + + + + @foreach (var transaction in Model.MyItems) + { + + + + + + + }
TypeDateStatusLink
@transaction.Type@transaction.Date.ToShortDateString()@transaction.StatusLink
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