Пример #1
0
 bool IsArticle(Artigo article)
 {
     if (IsNullOrPeriod(article.Conteudo.Corpo))
     {
         return(false);
     }
     if (ContainsExclusiveTitles(article.Conteudo.Titulo))
     {
         return(false);
     }
     return(true);
 }
Пример #2
0
        public void XMLWriterMultiple(IEnumerable <Artigo> artigos, string doc)
        {
            int i = 0;

            foreach (var artigo in artigos)
            {
                string doc_i    = doc + (i++);
                var    artigo_i = new Artigo[] { artigo };

                this.XMLWriter(artigo_i, doc_i);
            }
        }
Пример #3
0
        bool IsArticle(Artigo article)
        {
            if (IsNullOrPeriod(article.Conteudo.Corpo))
            {
                return(false);
            }

            // ignora sumário
            //if (ContainsExclusiveTitles(article.Conteudo.Titulo))
            //    return false;

            return(true);
        }
Пример #4
0
        public void Write(Artigo artigo, string doc)
        {
            // TODO: fix it
            // Rollback to previous name
            //string finalURL = ProcessName(artigos.FirstOrDefault(), doc);
            string finalURL = doc;

            JsonSerializerSettings settings = new JsonSerializerSettings()
            {
                Formatting = Formatting.Indented
            };

            using (Stream virtualStream = VirtualFS.OpenWrite($"{finalURL}.json"))
            {
                string content = JsonConvert.SerializeObject(artigo, settings);

                using (var writer = new StreamWriter(virtualStream))
                {
                    writer.Write(content);
                }
            }
        }
Пример #5
0
        private string ProcessName(Artigo artigo, string doc)
        {
            string numpag          = artigo.Metadados.NumeroDaPagina.ToString().PadLeft(4, '0');
            string docFinalText    = new DirectoryInfo(doc).Name;
            string date            = docFinalText.Substring(4, 10).Replace("_", "");
            string globalId        = docFinalText.Substring(21, docFinalText.Length - 21);
            string modelNameGlobal = $"{date}-{globalId}";
            string modelNameCustom = null;

            if (numpag == initialPage)
            {
                modelNameCustom = $"{date}-{numpag}-{countPerPage++.ToString().PadLeft(2, '0')}";
            }
            else
            {
                initialPage     = numpag;
                countPerPage    = 1;
                modelNameCustom = $"{date}-{numpag}-{countPerPage.ToString().PadLeft(2, '0')}";
            }


            return(doc.Replace(docFinalText, modelNameCustom));
        }
Пример #6
0
        public void XMLWriter(Artigo artigo, Stream virtualStream)
        {
            var settings = new XmlWriterSettings()
            {
                OmitXmlDeclaration = true, // omit XML declaration
                Indent             = true
            };

            using (XmlWriter writer = XmlWriter.Create(virtualStream, settings))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("article");

                Conteudo     conteudo  = artigo.Conteudo;
                Metadados    metadados = artigo.Metadados;
                List <Anexo> anexos    = artigo.Anexos;

                if (metadados.IdMateria != null)
                {
                    writer.WriteAttributeString("idmateria", metadados.IdMateria);
                }

                writer.WriteAttributeString("numberPage", metadados.NumeroDaPagina.ToString());

                writer.WriteStartElement("body");

                // Hierarquia
                writer.WriteStartElement("Hierarquia");
                foreach (var classe in conteudo.HierarquiaTitulo)
                {
                    writer.WriteElementString("Classe", classe);
                }
                writer.WriteEndElement();

                // Artigo
                writer.WriteStartElement("Artigo");
                writer.WriteCData("\n" + conteudo.Texto + "\n");
                writer.WriteEndElement();

                //Writing Body
                writer.WriteElementString("Identifica", ConvertBreakline2Space(metadados.Titulo));
                writer.WriteElementString("Ementa", conteudo.Caput);

                writer.WriteStartElement("Texto");
                writer.WriteCData(conteudo.Corpo);
                writer.WriteEndElement();

                if (conteudo.Autor.Count > 0)
                {
                    writer.WriteStartElement("Autores");

                    foreach (Autor autor in conteudo.Autor)
                    {
                        writer.WriteElementString("assina", ConvertBreakline2Space(autor.Assinatura));
                        if (autor.Cargo != null)
                        {
                            writer.WriteElementString("cargo", ConvertBreakline2Space(autor.Cargo));
                        }
                    }

                    writer.WriteEndElement();
                }

                if (conteudo.Data != null)
                {
                    writer.WriteElementString("Data", conteudo.Data);
                }

                writer.WriteEndElement(); // body

                writer.WriteEndElement(); // article

                writer.WriteEndDocument();
            }
        }