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); }