public async Task <TarefaModel> IncluirTarefaAsync(int id, DateTime data, string descricao)
        {
            // se parametro descricao ausente
            if (!TarefaModel.DescricaoTarefaValida(descricao))
            {
                throw new Exception("O Parâmetro descricão é inválida");
            }

            descricao = TarefaModel.LimitarTamanhoDescricaoTarefa(descricao);

            var clienteModel = await _clienteRepositorio.BuscarClienteAsync(id);

            // se o clinte não está cadastrado lança exceção.
            if (clienteModel == null)
            {
                throw new Exception("Este cliente não está cadastrado");
            }

            int idInserido = await _tarefaRepositorio.IncluirTarefaAsync(id, data, descricao);

            return(new TarefaModel
            {
                Id = idInserido,
                DataCriacao = data,
                IdCliente = id,
                NomeCliente = clienteModel.Nome,
                Descricao = descricao
            });
        }
        public async Task <ClienteModel> BuscarClienteAsync(int id)
        {
            var clienteDominio = await _clienteRepositorio.BuscarClienteAsync(id);

            // retorna null se não encontra dados
            if (clienteDominio == null)
            {
                return(null);
            }

            return(new ClienteModel
            {
                Id = clienteDominio.Id,
                Nome = clienteDominio.Nome
            });
        }