This commit is contained in:
Adam 2024-08-26 12:44:14 +02:00
commit 714b376820
5 changed files with 20 additions and 16 deletions

View File

@ -8,7 +8,7 @@ public class SiteViewModel : AcSiteViewModel
{ {
private readonly object _forLock = new(); private readonly object _forLock = new();
public int UnreadMessagesCount { get; private set; } = 0; public int UnreadMessagesCount => UnreadMessages.Count;
public List<EmailMessage> UnreadMessages { get; } = []; public List<EmailMessage> UnreadMessages { get; } = [];
public DriverManageTransfersPageModel DriverManageTransfersPageModel { get; } = new(); public DriverManageTransfersPageModel DriverManageTransfersPageModel { get; } = new();
@ -38,7 +38,7 @@ public class SiteViewModel : AcSiteViewModel
UnreadMessages.Clear(); UnreadMessages.Clear();
UnreadMessages.AddRange(unreadMessages); UnreadMessages.AddRange(unreadMessages);
UnreadMessagesCount = UnreadMessages.Count; //UnreadMessagesCount = UnreadMessages.Count;
} }
} }
@ -46,7 +46,7 @@ public class SiteViewModel : AcSiteViewModel
{ {
lock (_forLock) lock (_forLock)
{ {
UnreadMessagesCount = 0; //UnreadMessagesCount = 0;
UnreadMessages.Clear(); UnreadMessages.Clear();
DriverManageTransfersPageModel.ClearAll(); DriverManageTransfersPageModel.ClearAll();

View File

@ -17,6 +17,7 @@
@using TIAM.Core.Loggers @using TIAM.Core.Loggers
@using TIAM.Models @using TIAM.Models
@using TIAM.Services @using TIAM.Services
@using TIAMSharedUI.Shared.Components
@using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Services
@inject NavigationManager NavManager @inject NavigationManager NavManager
@inject IJSRuntime JSRuntime @inject IJSRuntime JSRuntime
@ -118,21 +119,21 @@
isSuccess = true; isSuccess = true;
} }
string _userId = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value;
string _email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value;
var user = await UserDataService.IsLoggedInAsync(Guid.Parse(_userId));
if (isSuccess) if (isSuccess)
{ {
await SaveToSessionInfo(user); var userId = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value;
//var email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value;
var user = await UserDataService.IsLoggedInAsync(Guid.Parse(userId));
SaveToSessionInfo(user);
_logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state"); _logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state");
_adminSignalRClient.GetByIdAsync<SiteViewModel>(SignalRTags.GetSiteViewModelByUserId, signalResponseMessage => _adminSignalRClient.GetByIdAsync<SiteViewModel>(SignalRTags.GetSiteViewModelByUserId, signalResponseMessage =>
{ {
_siteViewModel.Initialize(signalResponseMessage.ResponseData!); _siteViewModel.Initialize(signalResponseMessage.ResponseData!);
_logger.Debug($"UnreadMessages: {_siteViewModel.UnreadMessages.Count}"); _logger.Debug($"UnreadMessages: {_siteViewModel.UnreadMessagesCount}");
ComponentUpdateService.CallRequestRefreshAll(); ComponentUpdateService.CallRequestRefresh<Navbar>();
return Task.CompletedTask; return Task.CompletedTask;
}, user.UserId).Forget(); }, user.UserId).Forget();
} }
@ -145,15 +146,17 @@
//NavManager.NavigateTo("/"); //NavManager.NavigateTo("/");
} }
//ComponentUpdateService.CallRequestRefresh(); ComponentUpdateService.CallRequestRefreshAll();
} }
protected async Task SaveToSessionInfo(UserSessionModel user) protected void SaveToSessionInfo(UserSessionModel user)
{ {
sessionService.User = user; sessionService.User = user;
sessionService.IsAuthenticated = true; sessionService.IsAuthenticated = true;
sessionService.HasCompany = user.UserModelDto.UserProductMappings.Count > 0; sessionService.HasCompany = user.UserModelDto.UserProductMappings.Count > 0;
_logger.Debug($"Checking driver for: {user.UserModelDto.UserProductMappings.Count} mapping"); _logger.Debug($"Checking driver for: {user.UserModelDto.UserProductMappings.Count} mapping");
sessionService.IsDriver = CheckIfDriver(user.UserModelDto.UserProductMappings); sessionService.IsDriver = CheckIfDriver(user.UserModelDto.UserProductMappings);
if (user.UserModelDto.Id == TiamConstClient.DevAdminIds[0] || user.UserModelDto.Id == TiamConstClient.DevAdminIds[1]) if (user.UserModelDto.Id == TiamConstClient.DevAdminIds[0] || user.UserModelDto.Id == TiamConstClient.DevAdminIds[1])
{ {
@ -166,6 +169,7 @@
sessionService.IsSysAdmin = true; sessionService.IsSysAdmin = true;
} }
} }
_logger.Debug($"Saved to session: IsAuthenticated: {sessionService.IsAuthenticated}, HasCompany: {sessionService.HasCompany}, IsDriver: {sessionService.IsDriver}, IsDevAdmin: {sessionService.IsDevAdmin}, IsSysAdmin: {sessionService.IsSysAdmin}"); _logger.Debug($"Saved to session: IsAuthenticated: {sessionService.IsAuthenticated}, HasCompany: {sessionService.HasCompany}, IsDriver: {sessionService.IsDriver}, IsDevAdmin: {sessionService.IsDevAdmin}, IsSysAdmin: {sessionService.IsSysAdmin}");
} }

View File

@ -29,7 +29,7 @@ namespace TIAMSharedUI.Pages.Components
public bool IsVisible = false; public bool IsVisible = false;
private ILogger _logger; private ILogger _logger;
protected override async Task OnInitializedAsync() protected override void OnInitialized()
{ {
_logger = new LoggerClient<AuthComponent>(LogWriters.ToArray()); _logger = new LoggerClient<AuthComponent>(LogWriters.ToArray());
_logger.Debug("OnInitializedAsync"); _logger.Debug("OnInitializedAsync");

View File

@ -131,14 +131,14 @@ namespace TIAMSharedUI.Pages
componentUpdateService.CallRequestRefreshAll(); componentUpdateService.CallRequestRefreshAll();
return Task.CompletedTask; return Task.CompletedTask;
}, user.UserId).Forget(); }, user.UserId).Forget();
messageClass = "text-success"; messageClass = "text-success";
resultMessage = "Successful login"; resultMessage = "Successful login";
SaveToSessionInfo(user).Forget(); SaveToSessionInfo(user).Forget();
navManager.NavigateTo("/"); navManager.NavigateTo("/");
} }
} }
} }
else else
{ {

View File

@ -80,7 +80,7 @@
@{ @{
string url3 = $"user/messages/{userId}"; string url3 = $"user/messages/{userId}";
<NavLink class="nav-link" href="@url3"> <NavLink class="nav-link" href="@url3">
<i class="fa-solid fa-envelope">@(" (" + SiteViewModel.UnreadMessages.Count + ")")</i> <i class="fa-solid fa-envelope">@(" (" + SiteViewModel.UnreadMessagesCount + ")")</i>
</NavLink> </NavLink>
} }
</li> </li>