Exemplo n.º 1
0
        public async Task <OperationResult <Dish> > ReadAsync(Guid id)
        {
            try
            {
                var trOps = new TransactionOptions
                {
                    IsolationLevel = IsolationLevel.ReadCommitted,
                    Timeout        = TimeSpan.FromSeconds(30)
                };

                using var transactionScope = new TransactionScope(TransactionScopeOption.Required, trOps, TransactionScopeAsyncFlowOption.Enabled);
                var result = await _dao.ReadAsync(id);

                transactionScope.Complete();

                return(new OperationResult <Dish>()
                {
                    Success = true, Result = result
                });
            }
            catch (Exception e)
            {
                return(new OperationResult <Dish>()
                {
                    Success = false, Exception = e
                });
            }
        }
Exemplo n.º 2
0
        public async virtual Task <OperationResult <Dish> > ReadAsync(Guid id)
        {
            try
            {
                using var transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionOptions, TransactionScopeAsyncFlowOption.Enabled);
                var result = await _dao.ReadAsync(id);

                transactionScope.Complete();
                return(new OperationResult <Dish> {
                    Result = result, Success = true
                });
            }
            catch (Exception e)
            {
                return(new OperationResult <Dish>()
                {
                    Success = false, Exception = e
                });
            }
        }
        public async Task <OperationResult <Dish> > ReadAsync(Guid id)
        {
            try
            {
                using (var ts = new TransactionScope(TransactionScopeOption.Required, opts, TransactionScopeAsyncFlowOption.Enabled))
                {
                    var res = await _dao.ReadAsync(id);

                    ts.Complete();
                    return(new OperationResult <Dish>()
                    {
                        Success = true, Result = res
                    });
                }
            }
            catch (Exception e)
            {
                return(new OperationResult <Dish>()
                {
                    Success = false, Exception = e
                });
            }
        }