commit 70e8d5d3237a53db8f3ee9e54430225b5fe68f4c
parent 810cec6fc721f8ea8bbb63eba889029782c63ed6
Author: William Lindholm <william_lindholm@outlook.com>
Date: Sun, 15 Oct 2023 02:37:36 +0200
Added search for fieldagents.
Diffstat:
3 files changed, 37 insertions(+), 2 deletions(-)
diff --git a/MVC-databaskonstruktion/Controllers/AgentsController.cs b/MVC-databaskonstruktion/Controllers/AgentsController.cs
@@ -24,6 +24,13 @@ namespace MVC_databaskonstruktion.Controllers
return View();
}
+ public IActionResult Search(string searchQuery)
+ {
+ ViewBag.Agents = _agentsModel.SearchAgents(searchQuery);
+
+ return View("Search");
+ }
+
public IActionResult Create(
string CodeName,
string FirstName,
diff --git a/MVC-databaskonstruktion/Models/AgentsModel.cs b/MVC-databaskonstruktion/Models/AgentsModel.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc.Rendering;
+using Microsoft.Build.Evaluation;
using MVC_databaskonstruktion.Utils;
namespace MVC_databaskonstruktion.Models
@@ -51,6 +52,13 @@ namespace MVC_databaskonstruktion.Models
_databaseRepository.DeleteRow(table, conditions);
}
+ public TableObject SearchAgents(string searchQuery)
+ {
+ return _tableBuilder
+ .SetDataTable(_databaseRepository.GetTable($"SELECT * FROM Agent WHERE CodeName LIKE '%{searchQuery}%' OR FirstName LIKE '%{searchQuery}%' OR LastName LIKE '%{searchQuery}%';"))
+ .Build();
+ }
+
public TableObject GetFieldAgents()
{
return _tableBuilder
@@ -80,8 +88,10 @@ namespace MVC_databaskonstruktion.Models
string query = $"SELECT * FROM OperatesIn WHERE CodeName = '{CodeName}';";
return _tableBuilder.SetDataTable(_databaseRepository.GetTable(query))
- .SetDeleteTable(string.Empty)
- .SetRedirect(string.Empty)
+ .SetControllerName("Operations")
+ .SetPrimaryKeys(new List<string> { "OperationName", "StartDate", "IncidentName", "IncidentNumber"})
+ .SetDeleteTable("Operation")
+ .SetRedirect("Details")
.Build();
}
diff --git a/MVC-databaskonstruktion/Views/Agents/Search.cshtml b/MVC-databaskonstruktion/Views/Agents/Search.cshtml
@@ -0,0 +1,17 @@
+@{
+ ViewData["Title"] = "Agents";
+}
+
+<h1>Agents</h1>
+<hr />
+
+<form action="@Url.Action("Search")" method="get" class="mt-1">
+ <label>Search for Agent:</label>
+ <br />
+ <input type="text" name="searchQuery" placeholder="Search" class="form-control d-inline-block" style="vertical-align: middle; width: auto;" />
+ <button type="submit" class="btn btn-primary ml-2">Search</button>
+</form>
+<hr />
+
+<h3>Agents</h3>
+<partial name="_TablePartial" model="ViewBag.Agents" />
+\ No newline at end of file