public async Task <IResponse> AddTransactionAsync(vmTransactionCreateRequest newTransactionRequest)
        {
            var response = new Response();

            try
            {
                var newTransaction = _mapper.Map <vmTransactionCreateRequest, Transaction>(newTransactionRequest);
                // Create new payment payor
                await TransactionRepository.AddTransactionAsync(newTransaction);



                response.Message = ResponseMessageDisplay.Success;
            }
            catch (Exception ex)
            {
                response.SetError(ex);
            }

            #region Using Sql Transaction
            //try
            //{
            //    // Begin transaction
            //    using (var transaction = await _dbContext.Database.BeginTransactionAsync())
            //    {
            //        // Retrieve warehouses
            //        var transactionDetailToSave = _mapper.Map<vmTransactionCreateRequest, TransactionDetail>(newTransactionRequest);

            //        try
            //        {
            //            var newTransactionDetailID = await TransactionDetailRepository.AddTransactionDetailAsync(transactionDetailToSave);

            //            var newTransactionToSave = _mapper.Map<vmTransactionCreateRequest, Transaction>(newTransactionRequest);
            //            newTransactionToSave.TransactionDetailID = newTransactionDetailID;

            //            await TransactionRepository.AddTransactionAsync(newTransactionToSave);

            //            // Commit transaction
            //            transaction.Commit();
            //        }
            //        catch (Exception ex)
            //        {
            //            transaction.Rollback();

            //            throw ex;
            //        }
            //    }
            //}
            //catch (Exception ex)
            //{
            //    response.SetError(ex);
            //}
            #endregion

            return(response);
        }
Пример #2
0
        public void TestAddingTransactions()
        {
            ITransactionRepository transactionSubscriber = new TransactionRepository();

            transactionSubscriber.AddTransactionAsync(InitTransactions()).Wait();
        }