@inject ServerService ServerService
@code {
[Parameter] public Guid ServerId { get; set; }
[Parameter] public int Value { get; set; }
[Parameter] public EventCallback ValueChanged { get; set; }
[Parameter] public bool PortInUse { get; set; }
[Parameter] public EventCallback PortInUseChanged { get; set; }
protected override async Task OnInitializedAsync()
{
await OnPortNumberChanged(Value);
}
async Task OnPortNumberChanged(int value)
{
if (value > 0)
{
PortInUse = await ServerService.ExistsAsync(s => s.Port == value && s.Id != ServerId);
if (PortInUseChanged.HasDelegate)
await PortInUseChanged.InvokeAsync(PortInUse);
}
}
}