@page "/raidtemplateoverview" @using Lieb.Data @using System.Security.Claims @using Lieb.Models @using Lieb.Models.GuildWars2.Raid @inject RaidTemplateService RaidTemplateService @inject UserService UserService @inject AuthenticationStateProvider AuthenticationStateProvider

Event Templates



@foreach (var raid in _templatesToShow.OrderBy(r => r.StartTime)) {
} @code { private List _templates; private LiebUser? _user; private string _filterRole = string.Empty; private string _filterEventType = string.Empty; private List _templatesToShow; protected override async Task OnInitializedAsync() { _templates = RaidTemplateService.GetTemplates(); var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); if (authState.User.Identity.IsAuthenticated) { ulong discordId = ulong.Parse(authState.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value); _user = UserService.GetLiebUser(discordId); } ApplyFilter(); } private void GroupFilterChanged(ChangeEventArgs e) { _filterRole = e.Value?.ToString(); ApplyFilter(); } private void EventTypeFilterChanged(ChangeEventArgs e) { _filterEventType = e.Value?.ToString(); ApplyFilter(); } private void ApplyFilter() { if(String.IsNullOrEmpty(_filterRole)) { _templatesToShow = _templates; } else if(_filterRole == "No Group") { _templatesToShow = _templates.Where(r => string.IsNullOrEmpty(r.RequiredRole)).ToList(); } else { _templatesToShow = _templates.Where(r => r.RequiredRole == _filterRole).ToList(); } if(!String.IsNullOrEmpty(_filterEventType)) { _templatesToShow = _templatesToShow.Where(r => r.EventType.ToString() == _filterEventType).ToList(); } } }