feat(api, core, dal, domain): В таблицу Tasks добавлено поле процент выполнения, так же добавлено это поле в response - статус формирования отчета. Создан интерфейс для отслеживания прогресса IProgressAsync. Из сервиса WorkloadService исключен ITaskManagementService.

This commit is contained in:
Mikhail Trubnikov
2026-05-20 14:26:25 +10:00
parent 8f61bbb73e
commit 68808e761b
17 changed files with 4160 additions and 41 deletions

View File

@@ -0,0 +1,40 @@
namespace PARR.Core.Common.Interfaces
{
/// <summary>
/// Отслеживание програсса (% от задачи)
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IProgressAsync<T>
{
/// <summary>
/// Установить значение програсса (%)
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
Task ReportAsync(T value);
}
/// <summary>
/// Отслеживание програсса (% от задачи)
/// </summary>
/// <typeparam name="T"></typeparam>
public class ProgressAsync<T> : IProgressAsync<T>
{
private readonly Func<T, Task> _handler;
/// <summary>
/// Отслеживание програсса (% от задачи)
/// </summary>
/// <param name="handler"></param>
public ProgressAsync(Func<T, Task> handler)
{
_handler = handler;
}
public Task ReportAsync(T value)
{
return _handler(value);
}
}
}