public Transactions PostDeposit(TransactionsDepositDTO transactionsDTO) { Account accountDestination = _accountRepository.Get(new Object[] { transactionsDTO.AccountDestinationId }); if (accountDestination == null || !accountDestination.Master) { throw new Exception("Aportes sao permitidos apenas para contas principais"); } _transactionRepository.Begin(); try { accountDestination.Money = accountDestination.Money + transactionsDTO.Money; _accountRepository.Save(accountDestination); Transactions transactions = new Transactions(); transactions.AccountDestinationId = accountDestination.Id; transactions.Money = transactionsDTO.Money; transactions.TransactionCode = GeneratedCodeContribution.GetCode(); transactions.TransactionTypeId = (int)TransactionsTypeEnum.DEPOSIT; transactions.Created = DateTime.Now; _transactionRepository.Save(transactions); _transactionRepository.Commit(); return(transactions); } catch (Exception ex) { _transactionRepository.RollBack(); throw ex; } }
public ActionResult <Transactions> PostDeposit(TransactionsDepositDTO transactionsDTO, [FromServices] TransactionsApplication transactionsApplication) { try { return(Ok(transactionsApplication.PostDeposit(transactionsDTO))); } catch (Exception ex) { return(BadRequest(ex)); } }