Ejemplo n.º 1
0
        public async Task <bool> Handle(AdicionarTitularCommand request, CancellationToken cancellationToken)
        {
            var titular = new Models.Titular(request.Nome, request.Cpf);

            if (!ExecutarValidacao(titular))
            {
                return(false);
            }

            if (_titularRepository.Buscar(t => t.Cpf.Equals(request.Cpf)).Result.Any())
            {
                Notificar("Já existe um titular com este cpf informado.");
                return(false);
            }

            await _titularRepository.Adicionar(titular);

            return(true);
        }
        public async Task <bool> Handle(AdicionarContaCommand request, CancellationToken cancellationToken)
        {
            var titular = new Models.Titular(request.Titular.Nome, request.Titular.Cpf);
            var conta   = ContaCorrente.ContaFactory.NovaConta(titular.Id, request.Numero, request.Saldo);

            conta.AtribuirTitular(titular);

            if (!ExecutarValidacao(conta) || !ExecutarValidacao(titular))
            {
                return(false);
            }

            var baseConta = _contaRepository.ObterTitularDaContaPorCPF(titular.Cpf).Result;

            if (baseConta != null)
            {
                Notificar("Já existe um titular com esse CPF informado");
                return(false);
            }

            await _contaRepository.Adicionar(conta);

            return(true);
        }