From bfea515ec245c1259fe429337a2a7d098aa66fd5 Mon Sep 17 00:00:00 2001 From: Sergey Karmanov Date: Sun, 30 Jul 2023 06:05:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D1=83=20=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D1=82=D1=8B=D1=85=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PaydayFrontend/Controllers/HomeController.cs | 14 +++++++-- .../{DirectionViewModel.cs => Direction.cs} | 0 PaydayFrontend/Models/University.cs | 10 +++++++ .../Models/UniversityDirectionsViewModel.cs | 12 ++++++++ PaydayFrontend/Models/UniversityViewModel.cs | 17 ++++++----- PaydayFrontend/Views/Home/Directions.cshtml | 29 ++++++++++++++----- PaydayFrontend/Views/Home/Index.cshtml | 24 +++++++++++---- PaydayFrontend/Views/Shared/_Layout.cshtml | 5 ++-- PaydayFrontend/wwwroot/css/style.css | 1 + 9 files changed, 89 insertions(+), 23 deletions(-) rename PaydayFrontend/Models/{DirectionViewModel.cs => Direction.cs} (100%) create mode 100644 PaydayFrontend/Models/University.cs diff --git a/PaydayFrontend/Controllers/HomeController.cs b/PaydayFrontend/Controllers/HomeController.cs index d3553a0..1f5e72a 100644 --- a/PaydayFrontend/Controllers/HomeController.cs +++ b/PaydayFrontend/Controllers/HomeController.cs @@ -29,11 +29,13 @@ public class HomeController : Controller var random = new Random(DateTime.Now.Millisecond); universities = universities.OrderBy(x => random.Next()).ToList(); - return View(universities.ToList()); + var answer = new UniversityViewModel(universities, searchString); + + return View(answer); } [Route("Directions")] - public async Task Directions(long universityId) + public async Task Directions(long universityId, string searchString) { if (universityId == 0) return RedirectToAction("Index"); @@ -41,9 +43,17 @@ public class HomeController : Controller var answer = new UniversityDirectionsViewModel(); answer.University = await _universityService.GetUniversityById(universityId); answer.Directions = await _universityService.GetDirectionsByUniversityId(universityId); + answer.SearchString = searchString; + + if (!String.IsNullOrEmpty(searchString)) + { + answer.Directions = answer.Directions.Where(s => s.Name!.ToLower().Contains(searchString.ToLower()) || s.Code!.ToLower().Contains(searchString.ToLower())).ToList(); + } + return View(answer); } + [Route("Credits")] public IActionResult Credits() { return View(); diff --git a/PaydayFrontend/Models/DirectionViewModel.cs b/PaydayFrontend/Models/Direction.cs similarity index 100% rename from PaydayFrontend/Models/DirectionViewModel.cs rename to PaydayFrontend/Models/Direction.cs diff --git a/PaydayFrontend/Models/University.cs b/PaydayFrontend/Models/University.cs new file mode 100644 index 0000000..cae939c --- /dev/null +++ b/PaydayFrontend/Models/University.cs @@ -0,0 +1,10 @@ +namespace PaydayFrontend.Models; + +public class University +{ + public long Id { get; set; } + public string Name { get; set; } + public string FullName { get; set; } + public string ImageUrl { get; set; } + public long MinPlaceCost { get; set; } +} \ No newline at end of file diff --git a/PaydayFrontend/Models/UniversityDirectionsViewModel.cs b/PaydayFrontend/Models/UniversityDirectionsViewModel.cs index b2d9e6d..a55b569 100644 --- a/PaydayFrontend/Models/UniversityDirectionsViewModel.cs +++ b/PaydayFrontend/Models/UniversityDirectionsViewModel.cs @@ -2,6 +2,18 @@ public class UniversityDirectionsViewModel { + public UniversityDirectionsViewModel() + { + } + + public UniversityDirectionsViewModel(University university, List directions, string searchString) + { + University = university; + Directions = directions; + SearchString = searchString; + } + public University University { get; set; } public List Directions { get; set; } + public string SearchString { get; set; } } \ No newline at end of file diff --git a/PaydayFrontend/Models/UniversityViewModel.cs b/PaydayFrontend/Models/UniversityViewModel.cs index cae939c..f276e11 100644 --- a/PaydayFrontend/Models/UniversityViewModel.cs +++ b/PaydayFrontend/Models/UniversityViewModel.cs @@ -1,10 +1,13 @@ -namespace PaydayFrontend.Models; +namespace PaydayFrontend.Models; -public class University +public class UniversityViewModel { - public long Id { get; set; } - public string Name { get; set; } - public string FullName { get; set; } - public string ImageUrl { get; set; } - public long MinPlaceCost { get; set; } + public UniversityViewModel(List directions, string searchString) + { + Directions = directions; + SearchString = searchString; + } + + public List Directions { get; set; } + public string SearchString { get; set; } } \ No newline at end of file diff --git a/PaydayFrontend/Views/Home/Directions.cshtml b/PaydayFrontend/Views/Home/Directions.cshtml index 8f6d58e..d7f8612 100644 --- a/PaydayFrontend/Views/Home/Directions.cshtml +++ b/PaydayFrontend/Views/Home/Directions.cshtml @@ -10,28 +10,43 @@ -
+
@{ foreach (var direction in Model.Directions) {
- +
} } - -
+