public async Task <ActionResult <BankAccount> > DeleteBankAccount(int id) { var dto = new DeleteUserBankAccountDTO() { UserId = GetLoggedUserId(), BankAccountId = id }; await _bankAccountService.DeleteBankAccount(dto); return(Ok()); }
public async Task DeleteBankAccount(DeleteUserBankAccountDTO dto) { var bankAccount = await _bankAccountRepository.GetById(dto.BankAccountId); Validate.NotNull(bankAccount, "Bank account not found"); Validate.IsTrue(bankAccount.UserId == dto.UserId, "Acesso negado"); // TODO: check if bankAccount have Transactions //var transactions = await _transactionRepository.GetByBankAccount(dto.BankAccountId); // TODO: UnitOfWork //if(transactions.Count() > 0) //{ // await _transactionRepository.DeleteRange(transactions); //} _bankAccountRepository.Delete(bankAccount); Validate.IsTrue(await _uow.CommitAsync(), "Não foi possível remover a conta bancária"); }