Sergey Karmanov 0fbeb6160a
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 29s
Добавил глобальный поиск
2023-07-30 14:21:27 +03:00

68 lines
2.2 KiB
C#

using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using PaydayFrontend.Models;
using PaydayFrontend.Services;
namespace PaydayFrontend.Controllers;
public class AdminController : Controller
{
private readonly IUniversityService _universityService;
private readonly IBankService _bankService;
public AdminController(IUniversityService universityService, IBankService bankService)
{
_universityService = universityService;
_bankService = bankService;
}
public async Task<IActionResult> Index(string searchString)
{
var result = new AdminViewModel();
result.searchString = searchString;
result.indexes = new();
if (!String.IsNullOrEmpty(searchString))
{
IEnumerable<University> universities = await _universityService.GetAllUniversity();
universities = universities.Where(s => s.Name!.ToLower().Contains(searchString.ToLower()) || s.FullName!.ToLower().Contains(searchString.ToLower())).ToList();
IEnumerable<Bank> banks = await _bankService.GetAllBanks();
banks = banks.Where(s => s.Name!.ToLower().Contains(searchString.ToLower())).ToList();
foreach (var university in universities)
{
result.indexes.Add(new AdminIndexViewModel
{
Name = university.Name,
LogoUrl = university.ImageUrl,
Type = "Университет"
});
}
foreach (var bank in banks)
{
result.indexes.Add(new AdminIndexViewModel
{
Name = bank.Name,
LogoUrl = bank.ImageUrl,
Type = "Банк"
});
}
}
return View(result);
}
public async Task<IActionResult> Universities()
{
return View();
}
public async Task<IActionResult> Banks()
{
return View();
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}