76 lines
1.7 KiB
Plaintext
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}");
|
|
}
|
|
} |