public async Task <IActionResult> CreateTransactionAsync([FromBody] vmTransactionCreateRequest newRequest)
        {
            // Get response from business logic
            var response = await _transactionsService.AddTransactionAsync(newRequest);

            // Return as http response
            return(response.ToHttpResponse());
        }
        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);
        }