MVC-databaskonstruktion

Log | Files | Refs | README

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:
MMVC-databaskonstruktion/Controllers/AgentsController.cs | 7+++++++
MMVC-databaskonstruktion/Models/AgentsModel.cs | 14++++++++++++--
AMVC-databaskonstruktion/Views/Agents/Search.cshtml | 18++++++++++++++++++
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