@namespace ServerManagement.Components.Controls
@inject NavigationManager NavigationManager
@inject EindhovenOnlineServersStore EindhovenOnlineServersStore
@inject IServersEFCoreRepository ServersEFCoreRepository
@if (Server != null)
{
|
@Server.Name
|
@Server.City
|
@(Server.IsOnline ? "online" : "offline")
|
@if (Server.IsOnline)
{
Random random = new Random();
int randomNumber = random.Next(0, 500);
@randomNumber users online
}
else
{
N/A
}
|
@if (Server.IsOnline)
{
}
else
{
}
Edit
|
|
}
@code {
[Parameter]
public Server? Server { get; set; }
[CascadingParameter(Name="SelectedCity")]
public string? SelectedCity { get; set; }
private void DeleteServer(int serverId)
{
if (serverId > 0)
{
ServersEFCoreRepository.DeleteServer(serverId);
NavigationManager.Refresh(forceReload: true);
}
}
private string GetBackgroundColor()
{
if (SelectedCity != null) {
switch (this.SelectedCity)
{
case "Eindhoven": return "lightskyblue";
case "Helmond": return "lightcoral";
case "Oosterhout": return "lightgreen";
case "Roosendaal": return "lightsalmon";
case "Deurne": return "lightpink";
default:
return "white";
}
}
else
{
return "white";
}
}
private void SetServerStatus(bool status)
{
if (this.Server != null)
{
if (this.Server.IsOnline != status)
{
if (this.Server.City.Equals("Eindhoven", StringComparison.OrdinalIgnoreCase))
{
var numberOnline = EindhovenOnlineServersStore.GetNumberServersOnline();
if (status)
{
EindhovenOnlineServersStore.SetNumberServersOnline(numberOnline + 1);
}
else if (numberOnline > 1)
{
EindhovenOnlineServersStore.SetNumberServersOnline(numberOnline - 1);
}
}
this.Server.IsOnline = status;
ServersEFCoreRepository.UpdateServer(this.Server.Id, Server);
}
}
}
}