@page "/buildedit" @page "/buildedit/{buildId}" @using Lieb.Data @using Lieb.Models.GuildWars2 @using System.ComponentModel.DataAnnotations @inject GuildWars2BuildService GuildWars2BuildService @inject NavigationManager NavigationManager @inject IJSRuntime JsRuntime

Build Edit


@code { [Parameter] public string buildId { get; set; } public GuildWars2Build _build; private bool _hasMight; private bool _hasHeal; private bool _hasQuickness; private bool _hasAlacrity; protected override async Task OnInitializedAsync() { if(!string.IsNullOrEmpty(buildId) && int.TryParse(buildId, out int parsedId)) { _build = GuildWars2BuildService.GetBuild(parsedId); _hasMight = _build.Might > 0; _hasHeal = _build.Heal > 0; _hasQuickness = _build.Quickness > 0; _hasAlacrity = _build.Alacrity > 0; } else { _build = new GuildWars2Build(); } } async Task DeleteBuildClicked() { bool confirmed = await JsRuntime.InvokeAsync("confirm", "Are you sure you want to delete this Build?"); if (confirmed) { await GuildWars2BuildService.DeleteBuild(_build.GuildWars2BuildId); NavigationManager.NavigateTo("buildoverview"); } } private async Task HandleValidSubmit() { _build.Might = _hasMight ? (short)5 : (short)0; _build.Heal = _hasHeal ? (short)5 : (short)0; _build.Quickness = _hasQuickness ? (short)5 : (short)0; _build.Alacrity = _hasAlacrity ? (short)5 : (short)0; await GuildWars2BuildService.AddOrEditBuild(_build); NavigationManager.NavigateTo("buildoverview"); } }