diff --git a/ServerManagement/Components/Controls/ServerComponent.razor b/ServerManagement/Components/Controls/ServerComponent.razor
index e632757..c5f42b3 100755
--- a/ServerManagement/Components/Controls/ServerComponent.razor
+++ b/ServerManagement/Components/Controls/ServerComponent.razor
@@ -1,9 +1,10 @@
@namespace ServerManagement.Components.Controls
-
- Server is online.
+
+ @server.Name is in: @server.City @(server.IsOnline ? "online" : "offline")
@code {
-
+ private Server server = new Server { Name = "Server 1", City = "Einhoven" };
}
\ No newline at end of file
diff --git a/ServerManagement/Components/Pages/Servers.razor b/ServerManagement/Components/Pages/Servers.razor
index 8457363..81b4882 100644
--- a/ServerManagement/Components/Pages/Servers.razor
+++ b/ServerManagement/Components/Pages/Servers.razor
@@ -5,6 +5,8 @@
+
+
@code {
diff --git a/ServerManagement/Components/_Imports.razor b/ServerManagement/Components/_Imports.razor
index b88ab12..4691cfc 100644
--- a/ServerManagement/Components/_Imports.razor
+++ b/ServerManagement/Components/_Imports.razor
@@ -8,4 +8,5 @@
@using Microsoft.JSInterop
@using ServerManagement
@using ServerManagement.Components
-@using ServerManagement.Components.Controls
\ No newline at end of file
+@using ServerManagement.Components.Controls
+@using ServerManagement.Models
\ No newline at end of file
diff --git a/ServerManagement/Models/Server.cs b/ServerManagement/Models/Server.cs
new file mode 100644
index 0000000..c63f09d
--- /dev/null
+++ b/ServerManagement/Models/Server.cs
@@ -0,0 +1,17 @@
+namespace ServerManagement.Models
+{
+ public class Server
+ {
+ public Server()
+ {
+ Random random = new Random();
+ int randomNumber = random.Next(0, 2);
+ IsOnline = randomNumber != 0;
+ }
+
+ public int Id { get; set; }
+ public bool IsOnline { get; set; }
+ public string? Name { get; set; }
+ public string? City { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/ServerManagement/Models/ServersRepository.cs b/ServerManagement/Models/ServersRepository.cs
new file mode 100644
index 0000000..d37fc6a
--- /dev/null
+++ b/ServerManagement/Models/ServersRepository.cs
@@ -0,0 +1,80 @@
+namespace ServerManagement.Models
+{
+ public static class ServersRepository
+ {
+ private static List servers = new List()
+ {
+ new Server { Id = 1, Name = "Server1", City = "Toronto" },
+ new Server { Id = 2, Name = "Server2", City = "Toronto" },
+ new Server { Id = 3, Name = "Server3", City = "Toronto" },
+ new Server { Id = 4, Name = "Server4", City = "Toronto" },
+ new Server { Id = 5, Name = "Server5", City = "Montreal" },
+ new Server { Id = 6, Name = "Server6", City = "Montreal" },
+ new Server { Id = 7, Name = "Server7", City = "Montreal" },
+ new Server { Id = 8, Name = "Server8", City = "Ottawa" },
+ new Server { Id = 9, Name = "Server9", City = "Ottawa" },
+ new Server { Id = 10, Name = "Server10", City = "Calgary" },
+ new Server { Id = 11, Name = "Server11", City = "Calgary" },
+ new Server { Id = 12, Name = "Server12", City = "Halifax" },
+ new Server { Id = 13, Name = "Server13", City = "Halifax" },
+ };
+
+ public static void AddServer(Server server)
+ {
+ var maxId = servers.Max(s => s.Id);
+ server.Id = maxId + 1;
+ servers.Add(server);
+ }
+
+ public static List GetServres() => servers;
+
+ public static List GetServersByCity(string cityName)
+ {
+ return servers.Where(s => s.City.Equals(cityName, StringComparison.OrdinalIgnoreCase)).ToList();
+ }
+
+ public static Server? GetServerById(int id)
+ {
+ var server = servers.FirstOrDefault(s => s.Id == id);
+ if (server != null)
+ {
+ return new Server
+ {
+ Id = server.Id,
+ Name = server.Name,
+ City = server.City,
+ IsOnline = server.IsOnline
+ };
+ }
+
+ return null;
+ }
+
+ public static void UpdateServer(int serverId, Server server)
+ {
+ if (serverId != server.Id) return;
+
+ var serverToUpdate = servers.FirstOrDefault(s => s.Id == serverId);
+ if (serverToUpdate != null)
+ {
+ serverToUpdate.IsOnline = server.IsOnline;
+ serverToUpdate.Name = server.Name;
+ serverToUpdate.City = server.City;
+ }
+ }
+
+ public static void DeleteServer(int serverId)
+ {
+ var server = servers.FirstOrDefault(s => s.Id == serverId);
+ if (server != null)
+ {
+ servers.Remove(server);
+ }
+ }
+
+ public static List SearchServers(string serverFilter)
+ {
+ return servers.Where(s => s.Name.Contains(serverFilter, StringComparison.OrdinalIgnoreCase)).ToList();
+ }
+ }
+}
\ No newline at end of file