@page "/gw2accountedit" @page "/gw2accountedit/{gw2Id}" @using Lieb.Data @using Lieb.Models @using Lieb.Models.GuildWars2 @using System.ComponentModel.DataAnnotations @using System.Security.Claims @inject GuildWars2AccountService GuildWars2AccountService @inject GuildWars2BuildService GuildWars2BuildService @inject UserService UserService @inject NavigationManager NavigationManager @inject AuthenticationStateProvider AuthenticationStateProvider @inject IJSRuntime JsRuntime

ManageGuildWars2Account

@foreach (Equipped equippedBuild in _account.EquippedBuilds) { }
can Tank Build Class Elite Might Heal Quick Alac
@equippedBuild.GuildWars2Build.BuildName @equippedBuild.GuildWars2Build.Class.ToString() @equippedBuild.GuildWars2Build.EliteSpecialization.ToString() @equippedBuild.GuildWars2Build.Might.ToString() @equippedBuild.GuildWars2Build.Heal.ToString() @equippedBuild.GuildWars2Build.Quickness.ToString() @equippedBuild.GuildWars2Build.Alacrity.ToString()

@foreach (GuildWars2Build build in GuildWars2BuildService.GetBuilds()) { if(!_account.EquippedBuilds.Where(e => e.GuildWars2BuildId == build.GuildWars2BuildId).Any()) { } }
Build Class Elite Might Heal Quick Alac
@build.BuildName @build.Class.ToString() @build.EliteSpecialization.ToString() @build.Might.ToString() @build.Heal.ToString() @build.Quickness.ToString() @build.Alacrity.ToString()



@code { [Parameter] public string gw2Id { get; set; } public GuildWars2Account _account; private LiebUser _user; protected override async Task OnInitializedAsync() { var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync(); ulong discordId = ulong.Parse(authState.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value); _user = UserService.GetLiebUserSmall(discordId); if(!string.IsNullOrEmpty(gw2Id) && int.TryParse(gw2Id, out int parsedId) && _user.GuildWars2Accounts.Where(a => a.GuildWars2AccountId == parsedId).Any()) { _account = GuildWars2AccountService.GetAccount(parsedId); } else { _account = new GuildWars2Account(); } } async Task AddBuildlicked(GuildWars2Build build) { Equipped equipped = new Equipped() { GuildWars2AccountId = _account.GuildWars2AccountId, GuildWars2Account = _account, GuildWars2BuildId = build.GuildWars2BuildId, GuildWars2Build = build }; _account.EquippedBuilds.Add(equipped); } async Task RemoveBuildClicked(int buildId) { Equipped equipped = _account.EquippedBuilds.FirstOrDefault(e => e.GuildWars2BuildId == buildId); if (equipped != null) { _account.EquippedBuilds.Remove(equipped); } } async Task TankingStatusChanged(Equipped equipped, ChangeEventArgs args) { equipped.CanTank =bool.Parse(args.Value.ToString()); } async Task DeleteAccountClicked() { bool confirmed = await JsRuntime.InvokeAsync("confirm", "Are you sure you want to delete this Account?\nThis will sign you off in every raid in which you are signed up with this account."); if (confirmed) { await GuildWars2AccountService.DeleteAccount(_account.GuildWars2AccountId); NavigationManager.NavigateTo("accountedit"); } } private async Task HandleValidSubmit() { await GuildWars2AccountService.AddOrEditAccount(_account, _user.LiebUserId); NavigationManager.NavigateTo("accountedit"); } }