Пример #1
0
        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");
        }
Пример #2
0
        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");
        }
Пример #3
0
        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));
        }