public async Task Create(CreateUserTransactionDTO dto) { var bankAccount = await _bankAccountRepository.GetById(dto.BankAccountId); Validate.IsTrue(bankAccount != null, "A conta bancária fornecida não foi encontrada"); Validate.IsTrue(bankAccount.UserId == dto.UserId, "Acesso negado"); // TODO: Validations? var transaction = new Transaction(dto.Origin, dto.Date, dto.Amount, dto.BankAccountId); _transactionRepository.Insert(transaction); Validate.IsTrue(await _uow.CommitAsync(), "Ocorreu um problema na criação da transação"); }
private async Task UpdateAllTransactionsWithSimilarOriginsByMonth(Transaction transaction, short categoryId) { var similarTransactions = await _transactionRepository.GetByDateAndOrigin(transaction.Date, transaction.Origin, (int)transaction.BankAccountId); if (similarTransactions.Count() == 0) { return; } foreach (var t in similarTransactions) { t.Category = (Category)categoryId; } _transactionRepository.UpdateRange(similarTransactions); }