public async Task <CriarClienteCommandResult> Handle(CriarClienteCommand request, CancellationToken cancellationToken) { var clienteExistente = await _clienteRepositorio.ObterClientePorDocumentoAsync(request.Documento, cancellationToken); if (clienteExistente != null) { throw new ClienteJaCadastradoException("Cliente já cadastrado."); } var cliente = _mapper.Map <Cliente>(request); var result = await _clienteRepositorio.CriarClienteAsync(cliente, cancellationToken); return(new CriarClienteCommandResult { Documento = result.Documento, Nome = result.Nome }); }