feat(api, core, dal, domain): В таблицу Tasks добавлено поле процент выполнения, так же добавлено это поле в response - статус формирования отчета. Создан интерфейс для отслеживания прогресса IProgressAsync. Из сервиса WorkloadService исключен ITaskManagementService.
This commit is contained in:
40
PARR.Core/Common/Interfaces/IProgressAsync.cs
Normal file
40
PARR.Core/Common/Interfaces/IProgressAsync.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user