2026-04-30 15:10:35 +10:00
|
|
|
|
namespace PARR.Core.Services.TaskServices.Handlers
|
2026-04-21 16:54:39 +10:00
|
|
|
|
{
|
|
|
|
|
|
/// <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 };
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|