/// <summary> /// Обработать асинхронную функцию, вернуть результирующий ответ со значением или ошибку исключения /// </summary> public static async Task <IResultError> ResultErrorTryAsync(Func <Task> action, IErrorResult error) { try { await action.Invoke(); } catch (Exception ex) { return(new Models.Implementations.Result.ResultError(error.AppendException(ex))); } return(new Models.Implementations.Result.ResultError()); }
/// <summary> /// Обработать функцию, вернуть результирующий ответ или ошибку исключения /// </summary> public static IResultError ResultErrorTry(Action action, IErrorResult error) { try { action.Invoke(); } catch (Exception ex) { return(new Models.Implementations.Result.ResultError(error.AppendException(ex))); } return(new Models.Implementations.Result.ResultError()); }
/// <summary> /// Обработать функцию, вернуть результирующий ответ со связыванием со значением или ошибку исключения /// </summary> public static IResultCollection <TValue> ResultCollectionBindTry <TValue>(Func <IResultCollection <TValue> > func, IErrorResult error) { IResultCollection <TValue> funcResult; try { funcResult = func.Invoke(); } catch (Exception ex) { return(new ResultCollection <TValue>(error.AppendException(ex))); } return(funcResult); }
/// <summary> /// Обработать функцию, вернуть результирующий ответ со значением или ошибку исключения /// </summary> public static IResultValue <TValue> ResultValueTry <TValue>(Func <TValue> func, IErrorResult error) { TValue funcResult; try { funcResult = func.Invoke(); } catch (Exception ex) { return(new ResultValue <TValue>(error.AppendException(ex))); } return(new ResultValue <TValue>(funcResult)); }
/// <summary> /// Обработать асинхронную функцию, вернуть результирующий ответ со значением или ошибку исключения /// </summary> public static async Task <IResultValue <TValue> > ResultValueTryAsync <TValue>(Func <Task <TValue> > func, IErrorResult error) { TValue funcResult; try { funcResult = await func.Invoke(); } catch (Exception ex) { return(new ResultValue <TValue>(error.AppendException(ex))); } return(new ResultValue <TValue>(funcResult)); }
/// <summary> /// Обработать асинхронную функцию, вернуть результирующий ответ со значением или ошибку исключения /// </summary> public static async Task <IResultCollection <TValue> > ResultCollectionTryAsync <TValue>(Func <Task <IEnumerable <TValue> > > func, IErrorResult error) { IEnumerable <TValue> funcCollectionResult; try { funcCollectionResult = await func.Invoke(); } catch (Exception ex) { return(new ResultCollection <TValue>(error.AppendException(ex))); } return(new ResultCollection <TValue>(funcCollectionResult)); }