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); }