fix Waiting page
This commit is contained in:
		
							parent
							
								
									53dc8152cf
								
							
						
					
					
						commit
						938a4f03f7
					
				| @ -11,18 +11,30 @@ | ||||
|     <div class="container"> | ||||
|         <h1>Waiting for participants</h1> | ||||
|         <ul id="ParticipantsWaitStatus" class="list-unstyled"> | ||||
|             <li class="my-2"> | ||||
|                 <div><i class="far fa-check-circle text-success me-1 fa-fw" data-bs-toggle="tooltip" data-bss-tooltip title="Ready"></i><span>notary1@example.com </span><span class="ms-1">- host</span></div> | ||||
|             </li> | ||||
|             <li class="my-2"> | ||||
|                 <div><i class="far fa-check-circle text-success me-1 fa-fw" data-bs-toggle="tooltip" data-bss-tooltip title="Ready"></i><span>principal1@example.com </span><span class="ms-1">- principal</span></div> | ||||
|             </li> | ||||
|             <li class="my-2"> | ||||
|                 <div><i class="far fa-check-circle text-success me-1 fa-fw" data-bs-toggle="tooltip" data-bss-tooltip title="Ready"></i><span>principal2@example.com </span><span class="ms-1">- principal</span></div> | ||||
|             </li> | ||||
|             <li class="my-2"> | ||||
|                 <div><i class="far fa-hourglass text-muted me-1 fa-fw" data-bs-toggle="tooltip" data-bss-tooltip title="Waiting..."></i><span>witness1@example.com </span><span class="ms-1">- witness</span></div> | ||||
|             </li> | ||||
|             @foreach(var participant in Model.Participants) | ||||
|             { | ||||
|                 <li class="my-2"> | ||||
|                     <div> | ||||
|                         @if(participant.Status == "Ready") { | ||||
|                             <i class="far fa-check-circle text-success me-1 fa-fw" data-bs-toggle="tooltip" data-bss-tooltip title="@participant.Status"></i> | ||||
|                         } | ||||
|                         else { | ||||
|                             <i class="far fa-hourglass text-muted me-1 fa-fw" data-bs-toggle="tooltip" data-bss-tooltip title="@participant.Status"></i> | ||||
|                         } | ||||
|                         <span>@participant.Email </span><span class="ms-1"> - @participant.Type</span> | ||||
|                     </div> | ||||
|                 </li> | ||||
|             } | ||||
|         </ul> | ||||
|     </div> | ||||
| </section> | ||||
| </section> | ||||
| 
 | ||||
| @section Scripts { | ||||
| <script> | ||||
| 
 | ||||
|         receiveUserNotificationCallback = function(message) { | ||||
|             let json = tryParseJson(message); | ||||
|             alert('yoloooo: @(User.Identity.Name) ' + json.UserEmail); | ||||
|         } | ||||
| </script> | ||||
| } | ||||
| @ -1,3 +1,5 @@ | ||||
| using EnotaryoPH.Data; | ||||
| using EnotaryoPH.Data.Entities; | ||||
| using Microsoft.AspNetCore.Mvc; | ||||
| using Microsoft.AspNetCore.Mvc.RazorPages; | ||||
| 
 | ||||
| @ -5,10 +7,67 @@ namespace EnotaryoPH.Web.Pages.Participant.VideoCall | ||||
| { | ||||
|     public class WaitingModel : PageModel | ||||
|     { | ||||
|         public void OnGet() | ||||
|         private readonly NotaryoDBContext _dbContext; | ||||
|         private readonly ICurrentUserService _currentUserService; | ||||
|         private Transaction _transactionEntity; | ||||
| 
 | ||||
|         public WaitingModel(NotaryoDBContext notaryoDBContext, ICurrentUserService currentUserService) | ||||
|         { | ||||
|             _dbContext = notaryoDBContext; | ||||
|             _currentUserService = currentUserService; | ||||
|         } | ||||
| 
 | ||||
|         public IActionResult OnGet() | ||||
|         { | ||||
|             _transactionEntity = _dbContext.Transactions | ||||
|                 .Include(t => t.TransactionSignatories) | ||||
|                 .ThenInclude(ts => ts.User) | ||||
|                 .Include(t => t.Lawyer) | ||||
|                 .Include(t => t.Principal) | ||||
|                 .FirstOrDefault(t => t.Transaction_UID == Transaction_UID); | ||||
|             if (_transactionEntity == null) | ||||
|             { | ||||
|                 return NotFound(); | ||||
|             } | ||||
| 
 | ||||
|             var participants = _transactionEntity.TransactionSignatories | ||||
|                 .Select(t => new WaitingForParticipantViewModel | ||||
|                 { | ||||
|                     Email = t.Email, | ||||
|                     Status = ConvertToWaitingStatus(t.Status), | ||||
|                     Type = t.Email == _currentUserService.GetEmail() ? "(You)" : t.Type, | ||||
|                     UID = t.TransactionSignatory_UID.GetValueOrDefault() | ||||
|                 }) | ||||
|                 .ToList(); | ||||
| 
 | ||||
|             if (_transactionEntity.LawyerID > 0) | ||||
|             { | ||||
|                 participants.Add(new WaitingForParticipantViewModel | ||||
|                 { | ||||
|                     Email = _transactionEntity.Lawyer.User.Email, | ||||
|                     Status = "Waiting", | ||||
|                     Type = nameof(UserType.Notary), | ||||
|                     UID = Guid.Empty | ||||
|                 }); | ||||
|             } | ||||
| 
 | ||||
|             participants.Add(new WaitingForParticipantViewModel | ||||
|             { | ||||
|                 Email = _transactionEntity.Principal.Email, | ||||
|                 Status = "Ready", | ||||
|                 Type = nameof(UserType.Principal), | ||||
|                 UID = Guid.Empty | ||||
|             }); | ||||
| 
 | ||||
|             Participants = participants.OrderBy(p => p.Type).ToList(); | ||||
| 
 | ||||
|             return Page(); | ||||
|         } | ||||
| 
 | ||||
|         private string ConvertToWaitingStatus(string status) => status switch { nameof(SignatoryStatus.FaceMatch) => "Ready", _ => "Waiting" }; | ||||
| 
 | ||||
|         public List<WaitingForParticipantViewModel> Participants { get; set; } | ||||
| 
 | ||||
|         [BindProperty(SupportsGet = true)] | ||||
|         public Guid Transaction_UID { get; set; } | ||||
|     } | ||||
|  | ||||
| @ -0,0 +1,10 @@ | ||||
| namespace EnotaryoPH.Web.Pages.Participant.VideoCall | ||||
| { | ||||
|     public class WaitingForParticipantViewModel | ||||
|     { | ||||
|         public string Email { get; set; } | ||||
|         public string Status { get; set; } | ||||
|         public string Type { get; set; } | ||||
|         public Guid UID { get; set; } | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user