namespace PARR.Core.Services.TaskServices.Handlers
{
///
/// Результат выполнения задачи обработчиком.
/// Используется для преедачи данных между BaseTaskHandler и конкретными хендлерами.
///
public class HandlerResult
{
// TODO: может его перенести в Domain
///
/// Успешно ли выполнено
///
public bool IsSuccess { get; set; }
///
/// Данные результата (JSON, если нужно сохранить в БД)
///
public string? ResultData { get; set; }
///
/// Сообщение об ошибке (если IsSuccess = false)
///
public string? ErrorMessage { get; set; }
///
/// Исключение
///
public Exception? Exception { get; set; }
///
/// Создать успешный результат
///
///
///
public static HandlerResult Success(string? resultData = null) => new() { IsSuccess = true, ResultData = resultData };
///
/// Создать результат с ошибкой
///
///
///
///
public static HandlerResult Failure(string errorMessage, Exception? ex = null) => new() { IsSuccess = false, ErrorMessage = errorMessage, Exception = ex };
}
}