TourIAm/TIAMSharedUI/Shared/Components/Navbar.razor.cs

104 lines
2.8 KiB
C#

using AyCode.Interfaces.StorageHandlers;
using Microsoft.AspNetCore.Components;
using Microsoft.Extensions.Localization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AyCode.Core.Loggers;
using AyCode.Services.Loggers;
using TIAMSharedUI.Resources;
using TIAMWebApp.Shared.Application.Interfaces;
using TIAMWebApp.Shared.Application.Utility;
namespace TIAMSharedUI.Shared.Components
{
public partial class Navbar : ComponentBase
{
[Inject]
public ISecureStorageHandler SecureStorageHandler { get; set; }
[Inject]
public ISessionService sessionService { get; set; }
[Inject]
public IStringLocalizer<MyResources> localizer { get; set; }
[Inject]
public NavigationManager navigationManager { get; set; }
[Inject]
public IComponentUpdateService componentUpdateService { get; set; }
[Inject]
public IAcLogWriterClientBase BrowserConsoleLogWriter { get; set; }
private bool collapseNavMenu = true;
private bool myUser = false;
private bool hasProperty = false;
//componentUpdateService.RefreshRequested += RefreshMe;
private void RefreshMe()
{
BrowserConsoleLogWriter.Info($"Navbar refresh called! {DateTime.Now} ");
OnInitialized();
StateHasChanged();
}
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
private void NavigateBack()
{
}
private void SignOut()
{
SecureStorageHandler.ClearAllSecureStorageAsync();
sessionService.User = null;
sessionService.IsAuthenticated = false;
}
protected override void OnInitialized()
{
base.OnInitialized();
componentUpdateService.RefreshRequested += RefreshMe;
BrowserConsoleLogWriter.Info($"Navbar OnInit {DateTime.Now} ");
if (sessionService.User != null)
{
myUser = true;
}
else
{
BrowserConsoleLogWriter.Info($"Navbar myUser false! {DateTime.Now} ");
myUser = false;
}
var _properties = sessionService.User?.HasProperties;
if (sessionService.User?.HasProperties != null)
{
if(_properties.Count > 0)
{
hasProperty = true;
}
else
{
hasProperty = false;
}
foreach (var property in _properties)
{
BrowserConsoleLogWriter.Info($"First property: {property.Value} ");
}
}
}
}
}