Exemple #1
0
        public async Task <Result> AdicionarContaCorrente(ContaCorrentePostRequest request)
        {
            bool parametrosValidados = await ValidacaoParametrosEntradaAdicionar(request);

            if (!parametrosValidados)
            {
                return(Error(new MetaError(ListaErros.ParametrosNaoPodemSerVazio, StatusCode.Conflict)));
            }

            var documentoValido = await DocumentoValido(request.documento);

            if (documentoValido)
            {
                return(Error(new MetaError(ListaErros.DocumentoInvalido, StatusCode.Conflict)));
            }

            var documentoExistente = await BuscarContaCorrentePorDocumento(request.documento);

            if (documentoExistente != null)
            {
                return(Error(new MetaError(ListaErros.DocumentoJaCadastrado, StatusCode.Conflict)));
            }

            var conta = EncapsularRequestParaModel(request);

            await this.contaCorrenteRepository.AdicionarContaCorrente(conta);

            return(Success());
        }
Exemple #2
0
 public ContaCorrente EncapsularRequestParaModel(ContaCorrentePostRequest request)
 {
     return(new ContaCorrente()
     {
         dataCadastro = DateTime.Now,
         nome = request.nome,
         documento = request.documento,
         tipoConta = (TipoConta)request.tipoConta,
         tipoPessoa = (TipoPessoa)request.tipoPessoa
     });
 }
Exemple #3
0
        public async Task <bool> ValidacaoParametrosEntradaAdicionar(ContaCorrentePostRequest request)
        {
            var result = true;

            if (string.IsNullOrEmpty(request.nome) ||
                string.IsNullOrEmpty(request.documento) ||
                !Enum.IsDefined(typeof(TipoPessoa), request.tipoConta) ||
                !Enum.IsDefined(typeof(TipoConta), request.tipoConta))
            {
                result = false;
            }

            return(result);
        }
Exemple #4
0
        public async Task <IActionResult> AddContaCorrente([FromBody] ContaCorrentePostRequest request)
        {
            var cliente = await this.contaCorrenteService.AdicionarContaCorrente(request);

            return(HttpHelper.Convert(cliente));
        }