@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
BuildEdit
@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");
}
}