/// <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());
        }
示例#2
0
        /// <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));
        }
示例#5
0
        /// <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));
        }