Доделал вторую вкладку
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 8s

This commit is contained in:
Sergey Karmanov 2023-07-30 04:06:42 +03:00
parent 385f7dc6e7
commit 8a6f3ac806
Signed by: serega404
GPG Key ID: B6AD49C8C835460C
10 changed files with 221 additions and 45 deletions

View File

@ -18,26 +18,30 @@ public class HomeController : Controller
public async Task<IActionResult> Index(string searchString)
{
IEnumerable<University> universities = await _universityService.GetAllUniversity();
List<University> universities = await _universityService.GetAllUniversity();
if (!String.IsNullOrEmpty(searchString))
{
universities = universities.Where(s => s.Name!.ToLower().Contains(searchString.ToLower()));
universities = universities.Where(s => s.Name!.ToLower().Contains(searchString.ToLower()) || s.FullName!.ToLower().Contains(searchString.ToLower())).ToList();
}
// Выдача университетов в случайном порядке
var random = new Random(DateTime.Now.Millisecond);
universities = universities.OrderBy(x => random.Next()).ToList();
return View(universities.ToList());
}
[Route("Directions")]
public IActionResult Directions(long universityId)
public async Task<IActionResult> Directions(long universityId)
{
Console.WriteLine(universityId);
if (universityId == 0)
return RedirectToAction("Index");
return View();
var answer = new UniversityDirectionsViewModel();
answer.University = await _universityService.GetUniversityById(universityId);
answer.Directions = await _universityService.GetDirectionsByUniversityId(universityId);
return View(answer);
}
public IActionResult Credits()

View File

@ -8,4 +8,5 @@ public class Direction
public string Name { get; set; }
public string Url { get; set; }
public int PlaceCost { get; set; }
public string UniversityName { get; set; }
}

View File

@ -0,0 +1,7 @@
namespace PaydayFrontend.Models;
public class UniversityDirectionsViewModel
{
public University University { get; set; }
public List<Direction> Directions { get; set; }
}

View File

@ -6,7 +6,8 @@ namespace PaydayFrontend.Services;
public interface IUniversityService
{
public Task<List<University>> GetAllUniversity();
public Task<List<University>> GetDirectionsByUniversityId();
public Task<List<Direction>> GetDirectionsByUniversityId(long universityId);
public Task<University> GetUniversityById(long id);
}
public class UniversityService : IUniversityService
@ -30,11 +31,22 @@ public class UniversityService : IUniversityService
return university;
}
public async Task<List<University>> GetDirectionsByUniversityId()
public async Task<List<Direction>> GetDirectionsByUniversityId(long universityId)
{
var response = await _httpClient.GetAsync("v1/public/university");
var response = await _httpClient.GetAsync($"v1/public/university/{universityId}/directions");
var result = await response.Content.ReadAsStringAsync();
var university = JsonSerializer.Deserialize<List<University>>(result, new JsonSerializerOptions
var directions = JsonSerializer.Deserialize<List<Direction>>(result, new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
});
return directions;
}
public async Task<University> GetUniversityById(long id)
{
var response = await _httpClient.GetAsync("v1/public/university/" + id);
var result = await response.Content.ReadAsStringAsync();
var university = JsonSerializer.Deserialize<University>(result, new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
});

View File

@ -1,38 +1,40 @@
@model UniversityDirectionsViewModel
@{
ViewData["Title"] = "Выбор направления";
}
<section class="navigation" id="second">
<div class="container container_flex flex_column">
<div class="row" id="navigation_row_block">
<section class="navigation" id="second">
<div class="container container_flex flex_column">
<div class="row" id="navigation_row_block">
<div class="navigation_fixed_background"></div>
<div class="navigation_banks col-md-12" id="navigation">
<div class="navigation_banks_univer" id="universe">СпбГУ</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>
</div>
</div>
<div class="row row-cols-lg-1 g-5 g-lg-3">
<div class="col-md-12">
<div class="navigation_info navigation_info_text p-3">09.03.04 - Программная инженерия <span class="navigation_cost">От 5600 в мес.</span> 10+ Банков</div>
</div>
<div class="col-md-12">
<div class="navigation_info navigation_info_text p-3">09.03.04 - Программная инженерия <span class="navigation_cost">От 5600 в мес.</span> 10+ Банков</div>
</div>
<div class="col-md-12">
<div class="navigation_info navigation_info_text p-3">09.03.04 - Программная инженерия <span class="navigation_cost">От 5600 в мес.</span> 10+ Банков</div>
</div>
<div class="col-md-12">
<div class="navigation_info navigation_info_text p-3">09.03.04 - Программная инженерия <span class="navigation_cost">От 5600 в мес.</span> 10+ Банков</div>
<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>
</div>
</div>
<div class="navigation_choise">
<div class="navigation_slid">
<span class="navigation_slid_disable"></span>
<span class="navigation_slid_active"></span>
<span class="navigation_slid_disable"></span>
<span class="navigation_slid_disable"></span>
</div>
<div 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>
}
}
</div>
</section>
</div>
<div class="navigation_choise">
<div class="navigation_slid">
<span class="navigation_slid_disable"></span>
<span class="navigation_slid_active"></span>
<span class="navigation_slid_disable"></span>
<span class="navigation_slid_disable"></span>
</div>
</div>
</section>

View File

@ -1,7 +1,7 @@
@model List<University>
@{
ViewData["Title"] = "Home Page";
ViewData["Title"] = "Доступное образование";
}
<section class="universe">

File diff suppressed because one or more lines are too long

View File

@ -56,7 +56,7 @@ header {
.menu_project_name_text {
color: #20d37d;
font-size: 48px;
font-size: 3.5vh;
font-style: normal;
font-weight: 500
}
@ -714,7 +714,7 @@ header {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
height: 50px;
height: 53px; /*TODO: Скрывает последний результат*/
width: 100%;
bottom: 50px
}

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because one or more lines are too long