public async Task <Materia> RecuperarMateriaPeloCodigo(Processo campos)
        {
            string urlProcesso = new UrlProcessoBuilder(campos).Build();

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Accept.Clear();
                var response = await client.GetAsync(urlProcesso);

                if (response.IsSuccessStatusCode)
                {
                    var                   conteudo   = response.Content.ReadAsStreamAsync().Result;
                    XmlSerializer         serializer = new XmlSerializer(typeof(PesquisaBasicaMateria));
                    PesquisaBasicaMateria pesquisa   = (PesquisaBasicaMateria)serializer.Deserialize(conteudo);

                    MovimentacaoMateria movimentacao = await TramitacoesDaMateria(pesquisa.Materia.Identificacao.Codigo);

                    pesquisa.Materia.Tramitacoes = movimentacao.Materia.Tramitacoes;
                    pesquisa.Materia.Tramitacoes.OrderBy(t => t.Identificacao.Data);
                    pesquisa.Materia.SituacaoAtual = movimentacao.Materia.SituacaoAtual;

                    return(pesquisa.Materia);
                }
                throw new SystemException("Não foi possível consultar o serviço de processos.");
            }
        }
        public async Task <MovimentacaoMateria> TramitacoesDaMateria(int codigoMateria)
        {
            string urlTramitacoes = "http://legis.senado.leg.br/dadosabertos/materia/movimentacoes/" + codigoMateria;

            Debug.WriteLine($"URL de tramitações: {urlTramitacoes}");

            using (var client = new HttpClient())
            {
                var movimentacaoResponse = await client.GetAsync(urlTramitacoes);

                if (movimentacaoResponse.IsSuccessStatusCode)
                {
                    var                 movimentacaoConteudo   = movimentacaoResponse.Content.ReadAsStreamAsync().Result;
                    XmlSerializer       movimentacaoSerializer = new XmlSerializer(typeof(MovimentacaoMateria));
                    MovimentacaoMateria movimentacao           = (MovimentacaoMateria)movimentacaoSerializer.Deserialize(movimentacaoConteudo);
                    Debug.WriteLine($"Total de tramitações: {movimentacao.Materia.Tramitacoes.Length}");

                    return(movimentacao);
                }
                throw new SystemException("Não foi possível consultar o serviço de tramitações.");
            }
        }