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