Добавил обработку пустых запросов
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Create and publish a Docker image / build-and-push-image (push) Successful in 24s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Create and publish a Docker image / build-and-push-image (push) Successful in 24s
				
			This commit is contained in:
		| @@ -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<IActionResult> Directions(long universityId) | ||||
|     public async Task<IActionResult> 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(); | ||||
|   | ||||
							
								
								
									
										10
									
								
								PaydayFrontend/Models/University.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								PaydayFrontend/Models/University.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -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; } | ||||
| } | ||||
| @@ -2,6 +2,18 @@ | ||||
|  | ||||
| public class UniversityDirectionsViewModel | ||||
| { | ||||
|     public UniversityDirectionsViewModel() | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     public UniversityDirectionsViewModel(University university, List<Direction> directions, string searchString) | ||||
|     { | ||||
|         University = university; | ||||
|         Directions = directions; | ||||
|         SearchString = searchString; | ||||
|     } | ||||
|  | ||||
|     public University University { get; set; } | ||||
|     public List<Direction> Directions { get; set; } | ||||
|     public string SearchString { get; set; } | ||||
| } | ||||
| @@ -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<University> directions, string searchString) | ||||
|     { | ||||
|         Directions = directions; | ||||
|         SearchString = searchString; | ||||
|     } | ||||
|  | ||||
|     public List<University> Directions { get; set; } | ||||
|     public string SearchString { get; set; } | ||||
| } | ||||
| @@ -10,28 +10,43 @@ | ||||
|             <div class="navigation_fixed_background"></div> | ||||
|             <div class="navigation_banks col-md-12" id="navigation"> | ||||
|                 <div class="navigation_banks_univer" id="universe">@Model.University.Name</div> | ||||
|                 <div id="navigation_row_block" class="navigation_input_block"> | ||||
|                     <input type="text" class="navigation_input" placeholder="Введите код или название направления"><img src="/img/logo/search.svg" alt="search" class="navigation_search"> | ||||
|                 </div> | ||||
|                 <form id="navigation_row_block" class="navigation_input_block"> | ||||
|                     <input type="hidden" name="universityId" value="@Model.University.Id" />  | ||||
|                     <input type="text" name="searchString" class="navigation_input" placeholder="Введите код или название направления" value="@Model.SearchString"> | ||||
|                     <input type="image" src="/img/logo/search.svg" alt="search" class="navigation_search"> | ||||
|                 </form> | ||||
|             </div> | ||||
|  | ||||
|         </div> | ||||
|         <div class="row row-cols-lg-1 g-5 g-lg-3"> | ||||
|         <div id="listDirections" class="row row-cols-lg-1 g-5 g-lg-3"> | ||||
|             @{ | ||||
|                 foreach (var direction in Model.Directions) | ||||
|                 { | ||||
|                     <div class="col-md-12"> | ||||
|                         <div class="navigation_info navigation_info_text p-3">@direction.Code - @direction.Name<span class="navigation_cost">От 5600 в мес.</span> 10+ Банков</div> | ||||
|                         <div class="navigation_info navigation_info_text p-3">@direction.Code - @direction.Name<span class="navigation_cost">От @float.Round(direction.PlaceCost/12) т в мес.</span> @direction.PlaceCost т в год</div> | ||||
|                     </div> | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|              | ||||
|         </div> | ||||
|         <script> | ||||
|                 var element = document.getElementById("listDirections"); | ||||
|                 var numberOfChildren = element.childElementCount; | ||||
|                 if (numberOfChildren <= 0) { | ||||
|                     Swal.fire( | ||||
|                             'Ничего не найдено!', | ||||
|                             "По вашему запросу ничего не найдено", | ||||
|                             'warning' | ||||
|                           ).then((result) => { | ||||
|                               window.location.replace("/Directions?universityId=@Model.University.Id"); | ||||
|                             }) | ||||
|                     } | ||||
|             </script> | ||||
|     </div> | ||||
|     <div class="navigation_choise"> | ||||
|         <div class="navigation_slid"> | ||||
|             <a href="/" class="navigation_slid_disable"> | ||||
|             <span class="navigation_slid_disable"></span> | ||||
|             </a> | ||||
|             <span class="navigation_slid_active"></span> | ||||
|             <span class="navigation_slid_disable"></span> | ||||
|             <span class="navigation_slid_disable"></span> | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| @model List<University> | ||||
| @model UniversityViewModel | ||||
|  | ||||
|  | ||||
| @{ | ||||
|     ViewData["Title"] = "Доступное образование"; | ||||
| @@ -6,13 +7,13 @@ | ||||
|  | ||||
| <section class="universe"> | ||||
|     <div class="container container_flex"> | ||||
|         <div class="row row_flex"> | ||||
|         <div id="listUniversity" class="row row_flex"> | ||||
|             <form class="universe_input_block col-md-12"> | ||||
|                 <input type="text" class="universe_input" name="searchString" placeholder="Введите название вуза или суза..."> | ||||
|                 <input type="text" class="universe_input" name="searchString" placeholder="Введите название вуза или суза..." value="@Model.SearchString"> | ||||
|                 <input type="image" src="/img/logo/search.svg" alt="search" class="universe_search"> | ||||
|             </form> | ||||
|             @{ | ||||
|                 foreach (var university in Model) | ||||
|                 foreach (var university in Model.Directions) | ||||
|                 { | ||||
|                     <a href="Directions?UniversityId=@university.Id" class="col-2 universe_card universe_card_text"> | ||||
|                         <img src="@university.ImageUrl" alt="universe" class="universe_icon"> | ||||
| @@ -25,8 +26,21 @@ | ||||
|                 } | ||||
|             } | ||||
|         </div> | ||||
|  | ||||
|     </div> | ||||
|     <script> | ||||
|         var element = document.getElementById("listUniversity"); | ||||
|         var numberOfChildren = element.childElementCount; | ||||
|         if (numberOfChildren <= 1) { | ||||
|             Swal.fire( | ||||
|                     'Ничего не найдено!', | ||||
|                     "По вашему запросу ничего не найдено", | ||||
|                     'warning' | ||||
|                   ).then((result) => { | ||||
|                       window.location.replace("/"); | ||||
|                     }) | ||||
|             } | ||||
|     </script> | ||||
|      | ||||
|     <div class="navigation_choise"> | ||||
|         <div class="navigation_slid"> | ||||
|             <span class="navigation_slid_active"></span> | ||||
|   | ||||
| @@ -21,8 +21,8 @@ | ||||
|                 <span></span> | ||||
|                 <span></span> | ||||
|             </div> | ||||
|             <img src="/img/logo/logoPayDay.png" alt="logo" class="menu_logo"> | ||||
|             <div class="menu_project_name menu_project_name_text">Доступное образование</div> | ||||
|             <a href="/"><img src="img/logo/logoPayDay.png" alt="logo" class="menu_logo"></a> | ||||
|             <a href="/" class="menu_project_name menu_project_name_text">Доступное образование</a> | ||||
|         </div> | ||||
|         <!-- <button class="header_login"> | ||||
|             Вход через <span class="header_login_text">ЕСИА</span> | ||||
| @@ -47,6 +47,7 @@ | ||||
|             </div> | ||||
|         </div> | ||||
|     </nav> *@ | ||||
| <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> | ||||
| </header> | ||||
| @* <div class="container"> *@ | ||||
|     <main role="main" class="pb-3"> | ||||
|   | ||||
| @@ -55,6 +55,7 @@ header { | ||||
| } | ||||
|  | ||||
| .menu_project_name_text { | ||||
|     text-decoration: none; | ||||
|     color: #20d37d; | ||||
|     font-size: 3.5vh; | ||||
|     font-style: normal; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user