1
0

76 lines
1.7 KiB
Plaintext

@page "/serverstatus"
@inject NavigationManager NavigationManager
<h3>Server Status</h3>
<br/>
@if (!string.IsNullOrWhiteSpace(errorMessage))
{
<div class="alert alert-danger">
@errorMessage
</div>
}
<FieldComponent Label="Server status online">
<Control>
<input type="checkbox" @bind-value="isOnline" class="form-check-input"></input>
</Control>
</FieldComponent>
<br/>
<button type="button" class="btn btn-primary" @onclick="Save">Save</button>
@code {
private string? errorMessage;
private bool isOnline;
[SupplyParameterFromQuery]
private string? CityName { get; set; }
[SupplyParameterFromQuery]
private string? ServerName { get; set; }
protected override void OnInitialized()
{
base.OnInitialized();
}
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
{
if (string.IsNullOrWhiteSpace(ServerName))
{
this.errorMessage = "Server name was not provided.";
StateHasChanged();
}
else if (string.IsNullOrWhiteSpace(CityName))
{
this.errorMessage = "City name was not provided.";
StateHasChanged();
}
}
}
private void Save()
{
if (string.IsNullOrWhiteSpace(ServerName))
{
this.errorMessage = "Server name is required.";
return;
}
if (string.IsNullOrWhiteSpace(CityName))
{
this.errorMessage = "City name is required.";
return;
}
var server = new Server
{
Name = this.ServerName,
City = this.CityName,
IsOnline = this.isOnline
};
ServersRepository.AddServer(server);
NavigationManager.NavigateTo($"/servers/back_from/{CityName}");
}
}