50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
|
|
namespace PARR.Core.Services.Task.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 };
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|