perf: отключил должности для экономии памяти
Create and publish a Docker image / Publish image (push) Successful in 1m30s
Create and publish a Docker image / Publish image (push) Successful in 1m30s
This commit is contained in:
@@ -3,7 +3,7 @@ using System.Text.Json;
|
||||
|
||||
namespace SfeduSchedule.Services;
|
||||
|
||||
public class ModeusEmployeeService(ISchedulerFactory schedulerFactory)
|
||||
public class ModeusEmployeeService
|
||||
: IHostedService
|
||||
{
|
||||
private Dictionary<string, (string, List<string>)> _employees = []; // ФИО (ИД, Список должностей)
|
||||
@@ -18,14 +18,14 @@ public class ModeusEmployeeService(ISchedulerFactory schedulerFactory)
|
||||
.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);
|
||||
}
|
||||
|
||||
|
||||
public bool IsInitialized()
|
||||
{
|
||||
return _employees.Count > 0;
|
||||
@@ -70,7 +70,7 @@ public class ModeusEmployeeService(ISchedulerFactory schedulerFactory)
|
||||
|
||||
private async Task LoadEmployeesFromDisk()
|
||||
{
|
||||
|
||||
|
||||
if (File.Exists(_employeesFilePath))
|
||||
{
|
||||
var json = await File.ReadAllTextAsync(_employeesFilePath);
|
||||
|
||||
@@ -233,21 +233,22 @@ public class ModeusService(
|
||||
}
|
||||
}
|
||||
|
||||
var position = (e.GroupName ?? string.Empty).Trim();
|
||||
|
||||
static string FormatDateRange(string? dateIn, string? dateOut)
|
||||
{
|
||||
var start = (dateIn ?? string.Empty).Trim();
|
||||
if (string.IsNullOrEmpty(start)) start = "?";
|
||||
|
||||
var end = (dateOut ?? string.Empty).Trim();
|
||||
if (string.IsNullOrEmpty(end)) end = "по наст.вр.";
|
||||
|
||||
return $"{start}–{end}";
|
||||
}
|
||||
|
||||
var dateRange = FormatDateRange(e.DateIn, e.DateOut);
|
||||
var positionWithDates = string.IsNullOrEmpty(position) ? $"({dateRange})" : $"{position} ({dateRange})";
|
||||
// Отключено так как информация нигде не используется
|
||||
// var position = (e.GroupName ?? string.Empty).Trim();
|
||||
//
|
||||
// static string FormatDateRange(string? dateIn, string? dateOut)
|
||||
// {
|
||||
// var start = (dateIn ?? string.Empty).Trim();
|
||||
// if (string.IsNullOrEmpty(start)) start = "?";
|
||||
//
|
||||
// var end = (dateOut ?? string.Empty).Trim();
|
||||
// if (string.IsNullOrEmpty(end)) end = "по наст.вр.";
|
||||
//
|
||||
// return $"{start}–{end}";
|
||||
// }
|
||||
//
|
||||
// var dateRange = FormatDateRange(e.DateIn, e.DateOut);
|
||||
// var positionWithDates = string.IsNullOrEmpty(position) ? $"({dateRange})" : $"{position} ({dateRange})"; // Место работы с датой
|
||||
|
||||
if (!grouped.TryGetValue(fullName, out var entry))
|
||||
{
|
||||
@@ -260,11 +261,11 @@ public class ModeusService(
|
||||
entry.PersonId = personId;
|
||||
}
|
||||
}
|
||||
|
||||
if (!entry.Positions.Contains(positionWithDates))
|
||||
{
|
||||
entry.Positions.Add(positionWithDates);
|
||||
}
|
||||
|
||||
// if (!entry.Positions.Contains(positionWithDates))
|
||||
// {
|
||||
// entry.Positions.Add(positionWithDates);
|
||||
// }
|
||||
|
||||
grouped[fullName] = entry;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user