diff --git a/SfeduSchedule/Controllers/ScheduleController.cs b/SfeduSchedule/Controllers/ScheduleController.cs
index 301a62d..15c1110 100644
--- a/SfeduSchedule/Controllers/ScheduleController.cs
+++ b/SfeduSchedule/Controllers/ScheduleController.cs
@@ -1,4 +1,3 @@
-using System.ComponentModel.DataAnnotations;
using System.Text;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@@ -46,7 +45,7 @@ public class ScheduleController(ModeusService modeusService, ModeusEmployeeServi
/// Сервис сотрудников не инициализирован
[HttpGet]
[Route("searchemployee")]
- public async Task SearchEmployees([Required][MinLength(1)] string fullname)
+ public async Task SearchEmployees(string fullname = "")
{
if (!modeusEmployeeService.IsInitialized())
return StatusCode(503, "Сервис сотрудников не инициализирован, попробуйте позже.");
diff --git a/SfeduSchedule/Services/ModeusEmployeeService.cs b/SfeduSchedule/Services/ModeusEmployeeService.cs
index 76bb8a2..34cabdf 100644
--- a/SfeduSchedule/Services/ModeusEmployeeService.cs
+++ b/SfeduSchedule/Services/ModeusEmployeeService.cs
@@ -6,15 +6,22 @@ namespace SfeduSchedule.Services;
public class ModeusEmployeeService(ISchedulerFactory schedulerFactory)
: IHostedService
{
- private Dictionary)> _employees = [];
+ private Dictionary)> _employees = []; //
private Task? _backgroundTask;
private CancellationTokenSource? _cts;
private readonly string _employeesFilePath = Path.Combine(Path.Combine(AppContext.BaseDirectory, AppConsts.DataFolderName), AppConsts.EmployeesFileName);
public async Task)>> GetEmployees(string fullname, int size = 10)
{
+ if (string.IsNullOrEmpty(fullname))
+ return _employees
+ .OrderBy(e => e.Key)
+ .Take(size)
+ .ToDictionary(e => e.Key, e => e.Value);
+
return _employees
.Where(e => e.Key.Contains(fullname, StringComparison.OrdinalIgnoreCase))
+ .OrderBy(e => e.Key)
.Take(size)
.ToDictionary(e => e.Key, e => e.Value);
}