diff --git a/ServerManagement/Components/Controls/ServerComponent.razor b/ServerManagement/Components/Controls/ServerComponent.razor
index 04f9f16..c59fb09 100755
--- a/ServerManagement/Components/Controls/ServerComponent.razor
+++ b/ServerManagement/Components/Controls/ServerComponent.razor
@@ -44,7 +44,7 @@
}
- Edit
+ Edit
-
+
-Edit server
-
-
+@if (Id.HasValue)
+{
+ Edit server
+}
+else
+{
+ Add server
+}
@if (server != null)
{
-
+
+ @if (server.Id > 0)
+ {
+
+ }
@@ -48,29 +52,50 @@ The navigation manager only will respond correctly if all its behaviours are the
-
+ @if (server.Id > 0)
+ {
+
+ }
+ else
+ {
+
+ }
Close
}
@code {
- [Parameter] // This is a root parameter.
- public int Id { get; set; }
+ [Parameter]
+ public int? Id { get; set; }
- [SupplyParameterFromForm(FormName = "formServer")]
+ [SupplyParameterFromForm]
private Server? server { get; set; }
protected override void OnParametersSet()
{
- server ??= ServersRepository.GetServerById(this.Id);
+ if (this.Id.HasValue)
+ {
+ server ??= ServersRepository.GetServerById(this.Id.Value);
+ }
+ else
+ {
+ server ??= new Server() { IsOnline = false };
+ }
}
private void SubmitServer()
{
if (server != null)
{
- ServersRepository.UpdateServer(server.Id, server);
+ if (this.Id.HasValue)
+ {
+ ServersRepository.UpdateServer(server.Id, server);
+ }
+ else
+ {
+ ServersRepository.AddServer(server);
+ }
}
// An exception is raised when debugging from VS Code, but not when using dotnet watch.
diff --git a/ServerManagement/Components/Pages/EditServer.razor.css b/ServerManagement/Components/Pages/AddEditServer.razor.css
similarity index 100%
rename from ServerManagement/Components/Pages/EditServer.razor.css
rename to ServerManagement/Components/Pages/AddEditServer.razor.css
diff --git a/ServerManagement/Components/Pages/AddServer.razor b/ServerManagement/Components/Pages/AddServer.razor
deleted file mode 100644
index 0d433ff..0000000
--- a/ServerManagement/Components/Pages/AddServer.razor
+++ /dev/null
@@ -1,59 +0,0 @@
-@page "/servers/add"
-@using System.ComponentModel.DataAnnotations
-
-@attribute [ExcludeFromInteractiveRouting]
-
-@inject NavigationManager NavigationManager
-
-Add server
-
-
-
-
-
-
-
-
-
-
-
-
- Close
-
-
-
-@code {
- [SupplyParameterFromForm(FormName = "formServer")]
- private Server server { get; set; } = new Server() { IsOnline = false };
-
- private void SubmitServer()
- {
- if (server != null)
- {
- ServersRepository.AddServer(server);
- }
-
- // An exception is raised when debugging from VS Code, but not when using dotnet watch.
- NavigationManager.NavigateTo($"/servers/back_from/{this.server?.City}");
- }
-}
\ No newline at end of file
diff --git a/ServerManagement/Components/Pages/Servers.razor b/ServerManagement/Components/Pages/Servers.razor
index d6e6240..d56ef34 100644
--- a/ServerManagement/Components/Pages/Servers.razor
+++ b/ServerManagement/Components/Pages/Servers.razor
@@ -18,7 +18,7 @@
style="width: 600px">
-Add
+Add
|