public async Task <ActionResult <BankAccount> > Create(CreateUserBankAccountDTO dto) { dto.UserId = GetLoggedUserId(); await _bankAccountService.CreateBankAccountForUser(dto); // TODO: create common success handler var response = new { Success = true, Data = "Conta bancária criada com sucesso" }; return(Ok(response)); }
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"); }