public async Task UpdateBankAccount(UpdateUserBankAccountDTO dto) { var bankAccount = await _bankAccountRepository.GetById(dto.BankAccountId); Validate.NotNull(bankAccount, "Bank account not found"); Validate.IsTrue(bankAccount.UserId == dto.UserId, "Acesso negado"); BankCode.ValidateCode(dto.Code); Validate.NotNullOrEmpty(dto.Agency, "É necessário fornecer uma agência."); Validate.NotNullOrEmpty(dto.Number, "É necessário fornecer o número da conta bancária."); bankAccount.SetAgency(dto.Agency); bankAccount.SetNumber(dto.Number); bankAccount.SetCode(dto.Code); _bankAccountRepository.Update(bankAccount); Validate.IsTrue(await _uow.CommitAsync(), "Ocorreu um problema na atualização"); }
public async Task CreateBankAccountForUser(CreateUserBankAccountDTO dto) { var user = await _userRepository.GetById(dto.UserId); Validate.NotNull(user, "É necessário um usuário para criar uma conta de banco."); Validate.NotNullOrEmpty(dto.Agency, "É necessário fornecer uma agência."); Validate.NotNullOrEmpty(dto.Number, "É necessário fornecer o número da conta bancária."); BankCode.ValidateCode(dto.Code); var code = BankCode.FromValue <BankCode>(dto.Code); var bankAccount = new BankAccount(dto.Number, dto.Agency, code, dto.UserId); _bankAccountRepository.Insert(bankAccount); Validate.IsTrue(await _uow.CommitAsync(), "Não foi possível criar a conta bancária"); }
public async Task <IActionResult> ReadBankStatements(IFormFileCollection csvFiles, [FromForm] short bankCode) { BankCode.ValidateCode(bankCode); // TODO : better way to do this? var user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier); if (string.IsNullOrEmpty(user?.Value)) { return(Unauthorized()); } var dto = new CsvFileReaderDTO() { FilesOwnerId = int.Parse(user.Value), BankCode = bankCode, CsvFiles = csvFiles }; var result = await _csvReaderService.ReadTransactionsFromFiles(dto); return(Ok(result)); }