// 0 -> Ativada, 1 -> Desativada, 2 -> Bloqueada, 3 -> Analise // ADICIONAR CONTA public async Task <ContaDto> Add(ContaDto contaDto) { var helperConta = await GerarContaAndAgencia(contaDto.PessoaId); contaDto.DigitosConta = helperConta.Conta; contaDto.DigitosAgencia = helperConta.Agencia; contaDto.Senha = MD5(contaDto.Senha); if (contaDto.TipoConta == 0) { bool existeContaCorrete = await _repo.ExisteContaCorrente(contaDto.PessoaId); if (existeContaCorrete) { throw new ArgumentException("Ja existe uma conta corrente para essa pessoa"); } } else if (contaDto.TipoConta != 0) { bool existeContaPoupanca = await _repo.ExisteContaPoupanca(contaDto.PessoaId); if (existeContaPoupanca) { throw new ArgumentException("Ja existe uma conta poupanca para essa pessoa!"); } } contaDto.CPF = await _pessoaService.GetCpfById(contaDto.PessoaId); var conta = _map.Map <Conta>(contaDto); _repo.Add(conta); if (await _repo.SaveAsync()) { return(_map.Map <ContaDto>(conta)); } throw new ArgumentException("Erro ao persistir dados"); }