feat(core): WorkloadCacheService - логика
This commit is contained in:
49
PARR.Core/Services/TaskServices/Handlers/HandlerResult.cs
Normal file
49
PARR.Core/Services/TaskServices/Handlers/HandlerResult.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
namespace PARR.Core.Services.TaskServices.Handlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Результат выполнения задачи обработчиком.
|
||||
/// Используется для преедачи данных между BaseTaskHandler и конкретными хендлерами.
|
||||
/// </summary>
|
||||
public class HandlerResult
|
||||
{
|
||||
// TODO: может его перенести в Domain
|
||||
|
||||
/// <summary>
|
||||
/// Успешно ли выполнено
|
||||
/// </summary>
|
||||
public bool IsSuccess { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Данные результата (JSON, если нужно сохранить в БД)
|
||||
/// </summary>
|
||||
public string? ResultData { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Сообщение об ошибке (если IsSuccess = false)
|
||||
/// </summary>
|
||||
public string? ErrorMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Исключение
|
||||
/// </summary>
|
||||
public Exception? Exception { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Создать успешный результат
|
||||
/// </summary>
|
||||
/// <param name="resultData"></param>
|
||||
/// <returns></returns>
|
||||
public static HandlerResult Success(string? resultData = null) => new() { IsSuccess = true, ResultData = resultData };
|
||||
|
||||
/// <summary>
|
||||
/// Создать результат с ошибкой
|
||||
/// </summary>
|
||||
/// <param name="errorMessage"></param>
|
||||
/// <param name="ex"></param>
|
||||
/// <returns></returns>
|
||||
public static HandlerResult Failure(string errorMessage, Exception? ex = null) => new() { IsSuccess = false, ErrorMessage = errorMessage, Exception = ex };
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user