Loading angepasst
This commit is contained in:
@@ -511,6 +511,27 @@ else
|
||||
@code {
|
||||
private static readonly System.Globalization.CultureInfo _deCulture = new("de-DE");
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public AppSettings? PersistentSettings { get; set; }
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public TenantInfo? PersistentTenantInfo { get; set; }
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public List<VacationDay>? PersistentVacationDays { get; set; }
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public List<PublicHoliday>? PersistentHolHolidays { get; set; }
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public string? PersistentTenantName { get; set; }
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public string? PersistentTenantPrimaryColor { get; set; }
|
||||
|
||||
[PersistentState(AllowUpdates = true)]
|
||||
public string? PersistentTenantSecondaryColor { get; set; }
|
||||
|
||||
private AppSettings? _settings;
|
||||
private int _userId;
|
||||
private bool _isTenantAdmin;
|
||||
@@ -571,36 +592,63 @@ else
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
if (PersistentSettings != null)
|
||||
{
|
||||
_settings = PersistentSettings;
|
||||
_tenantInfo = PersistentTenantInfo;
|
||||
_vacationDays = PersistentVacationDays ?? [];
|
||||
_holHolidays = PersistentHolHolidays ?? [];
|
||||
_tenantName = PersistentTenantName ?? "";
|
||||
_tenantPrimaryColor = PersistentTenantPrimaryColor ?? "#0EA5E9";
|
||||
_tenantSecondaryColor = PersistentTenantSecondaryColor ?? "#0EA5E9";
|
||||
}
|
||||
|
||||
var authState = await AuthStateProvider.GetAuthenticationStateAsync();
|
||||
var claim = authState.User.FindFirst(ClaimTypes.NameIdentifier);
|
||||
if (claim == null) return;
|
||||
_userId = int.Parse(claim.Value);
|
||||
_settings = await TrackerService.GetSettingsAsync(_userId);
|
||||
|
||||
_isTenantAdmin = authState.User.IsInRole("TenantAdmin") || authState.User.HasClaim("IsTenantAdmin", "true");
|
||||
if (_isTenantAdmin)
|
||||
if (PersistentSettings != null)
|
||||
{
|
||||
try
|
||||
_isTenantAdmin = authState.User.IsInRole("TenantAdmin") || authState.User.HasClaim("IsTenantAdmin", "true");
|
||||
}
|
||||
else
|
||||
{
|
||||
_isTenantAdmin = authState.User.IsInRole("TenantAdmin") || authState.User.HasClaim("IsTenantAdmin", "true");
|
||||
_settings = await TrackerService.GetSettingsAsync(_userId);
|
||||
|
||||
if (_isTenantAdmin)
|
||||
{
|
||||
_tenantInfo = await Http.GetFromJsonAsync<TenantInfo>("api/tenant/current");
|
||||
if (_tenantInfo != null)
|
||||
try
|
||||
{
|
||||
_tenantName = _tenantInfo.Name ?? "";
|
||||
_tenantPrimaryColor = _tenantInfo.PrimaryColor ?? "#0EA5E9";
|
||||
_tenantSecondaryColor = _tenantInfo.SecondaryColor ?? "#0EA5E9";
|
||||
_tenantInfo = await Http.GetFromJsonAsync<TenantInfo>("api/tenant/current");
|
||||
if (_tenantInfo != null)
|
||||
{
|
||||
_tenantName = _tenantInfo.Name ?? "";
|
||||
_tenantPrimaryColor = _tenantInfo.PrimaryColor ?? "#0EA5E9";
|
||||
_tenantSecondaryColor = _tenantInfo.SecondaryColor ?? "#0EA5E9";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Snackbar.Add($"Fehler beim Laden der Firmen-Einstellungen: {ex.Message}", Severity.Error);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Snackbar.Add($"Fehler beim Laden der Firmen-Einstellungen: {ex.Message}", Severity.Error);
|
||||
}
|
||||
|
||||
var loadVacationsTask = LoadVacations();
|
||||
var loadHolidaysTask = HolidayService.GetHolidaysAsync(_holYear, _settings.GermanState);
|
||||
|
||||
await Task.WhenAll(loadVacationsTask, loadHolidaysTask);
|
||||
_holHolidays = await loadHolidaysTask;
|
||||
|
||||
PersistentSettings = _settings;
|
||||
PersistentTenantInfo = _tenantInfo;
|
||||
PersistentVacationDays = _vacationDays;
|
||||
PersistentHolHolidays = _holHolidays;
|
||||
PersistentTenantName = _tenantName;
|
||||
PersistentTenantPrimaryColor = _tenantPrimaryColor;
|
||||
PersistentTenantSecondaryColor = _tenantSecondaryColor;
|
||||
}
|
||||
|
||||
var loadVacationsTask = LoadVacations();
|
||||
var loadHolidaysTask = HolidayService.GetHolidaysAsync(_holYear, _settings.GermanState);
|
||||
|
||||
await Task.WhenAll(loadVacationsTask, loadHolidaysTask);
|
||||
_holHolidays = await loadHolidaysTask;
|
||||
}
|
||||
|
||||
private async Task LoadVacations()
|
||||
|
||||
Reference in New Issue
Block a user