@page "/" @using AyCode.Interfaces.StorageHandlers; @using Newtonsoft.Json; @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models.ClientSide; @using AyCode.Blazor.Components; @using TIAMWebApp.Shared.Application.Models; @using TIAMWebApp.Shared.Application.Utility; @using System.IdentityModel.Tokens.Jwt; @inject NavigationManager NavManager @inject IUserDataService UserDataService; @inject IJSRuntime jsRuntime; @inject ISecureStorageHandler SecureStorageHandler @inject ISessionService sessionService; @using TIAMSharedUI.Shared Index

Welcome

Please select!

Card image

Transfer

Do you need a lift? Book a transfer now!

Card image

Tours

Are you curious about the wonderful sights of Budapest or Hungary? Book a guided tour now!

Card image

Clubcards

Join the club, and enjoy great offers during your stay!

@code { bool isUserLoggedIn; int userType = 0; int currentUserRole = 249; public UserSessionModel MyUser; //add a new dictionary for the role types protected async override Task OnInitializedAsync() { //old var logToBrowserConsole = new LogToBrowserConsole(jsRuntime); //wait for 5 seconds //await Task.Delay(5000); string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails)); logToBrowserConsole.LogToBC(userDetailsStr); if (!string.IsNullOrWhiteSpace(userDetailsStr)) { var userBasicDetail = JsonConvert.DeserializeObject(userDetailsStr); var handler = new JwtSecurityTokenHandler(); var jsontoken = handler.ReadToken(userBasicDetail?.AccessToken) as JwtSecurityToken; if (userBasicDetail != null) Setting.UserBasicDetails = userBasicDetail; if (jsontoken?.ValidTo < DateTime.UtcNow) { logToBrowserConsole.LogToBC("Token needs to be refreshed"); bool isTokenRefreshed = await UserDataService.RefreshToken(); if (isTokenRefreshed) { logToBrowserConsole.LogToBC("Token refreshed"); var myId = Guid.Parse(jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value); //UserDataService.User.Email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value; MyUser = await UserDataService.IsLoggedInAsync(myId); logToBrowserConsole.LogToBC(MyUser.UserId.ToString()); } else { logToBrowserConsole.LogToBC("Couldn't refresh token"); } } else { logToBrowserConsole.LogToBC("Valid token found"); var myId = Guid.Parse(jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value); logToBrowserConsole.LogToBC(myId.ToString()); //UserDataService.User.Email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value; MyUser = await UserDataService.IsLoggedInAsync(myId); logToBrowserConsole.LogToBC(MyUser.UserId.ToString()); sessionService.User = MyUser; logToBrowserConsole.LogToBC($"{sessionService.User.UserId.ToString()}, {sessionService.User.Email}."); } } else { logToBrowserConsole.LogToBC("No token stored yet"); } } }