Exemplo n.º 1
0
        public IEnumerable <Artigo> Create(IList <Conteudo> conteudos)
        {
            List <Artigo> artigos = new List <Artigo>();

            foreach (Conteudo conteudo in conteudos)
            {
                string    titulo    = CleanIdMateria(conteudo.Titulo);
                Metadados metadados = new Metadados()
                {
                    TipoDoArtigo   = GetType(titulo),
                    Nome           = GetName(titulo),
                    Grade          = GetGrade(conteudo.Hierarquia),
                    NumeroDaPagina = conteudo.Page,
                    Titulo         = titulo,
                    IdMateria      = GetIdMateria(conteudo.Titulo)
                };


                var article = new Artigo
                {
                    Metadados = metadados,
                    Conteudo  = conteudo,
                    Anexos    = conteudo.Anexos
                };

                if (IsArticle(article))
                {
                    artigos.Add(article);
                }
            }

            return(artigos);
        }
Exemplo n.º 2
0
        public Artigo Create(List <Conteudo> input)
        {
            var conteudo = input[0];

            string    titulo    = CleanIdMateria(conteudo.Titulo);
            Metadados metadados = new Metadados()
            {
                TipoDoArtigo   = GetType(titulo),
                Nome           = GetName(titulo),
                Grade          = GetGrade(conteudo.Hierarquia),
                NumeroDaPagina = conteudo.Page,
                Titulo         = titulo,
                IdMateria      = GetIdMateria(conteudo.Titulo)
            };


            var article = new Artigo
            {
                Metadados = metadados,
                Conteudo  = conteudo,
                Anexos    = conteudo.Anexos
            };

            return(article);
        }
Exemplo n.º 3
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();
            }
        }
Exemplo n.º 4
0
        public void XMLWriter(IEnumerable <Artigo> artigos, string doc)
        {
            string finalURL = doc;

            var settings = new XmlWriterSettings()
            {
                OmitXmlDeclaration = true, // omit XML declaration
                Indent             = true
            };

            using (Stream virtualStream = VirtualFS.OpenWrite($"{finalURL}.xml"))
                using (XmlWriter writer = XmlWriter.Create(virtualStream, settings))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement("article");

                    foreach (Artigo artigo in artigos)
                    {
                        Conteudo     conteudo  = artigo.Conteudo;
                        Metadados    metadados = artigo.Metadados;
                        List <Anexo> anexos    = artigo.Anexos;

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

                        //if (conteudo.Hierarquia != null)
                        //    writer.WriteAttributeString("hierarquia", ConvertBreakline2Space(conteudo.Hierarquia));

                        //writer.WriteAttributeString("artSection", ConvertBreakline2Space(metadados.Grade));

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

                        //Writing Anexos
                        if (anexos.Count > 0)
                        {
                            writer.WriteStartElement("Anexos");
                            foreach (Anexo item in anexos)
                            {
                                writer.WriteStartElement("Anexo");
                                if (item.HierarquiaTitulo != null)
                                {
                                    writer.WriteElementString("Hierarquia", item.HierarquiaTitulo);
                                }
                                if (item.Titulo != null)
                                {
                                    writer.WriteElementString("Titulo", item.Titulo);
                                }
                                if (item.Texto != null)
                                {
                                    writer.WriteElementString("Texto", item.Texto);
                                }
                                writer.WriteEndElement();
                            }
                            writer.WriteEndElement();
                        }
                    }

                    writer.WriteEndElement();
                    writer.WriteEndDocument();
                }
        }
Exemplo n.º 5
0
        public void XMLWriter(IEnumerable <Artigo> artigos, string doc)
        {
            string finalURL = ProcessName(artigos.FirstOrDefault(), doc);

            var settings = new XmlWriterSettings()
            {
                Indent = true
            };

            using (XmlWriter writer = VirtualFS.OpenXmlWriter($"{finalURL}.xml", settings))
            {
                writer.WriteStartDocument();
                writer.WriteStartElement("Artigo");

                foreach (Artigo artigo in artigos)
                {
                    Conteudo     conteudo  = artigo.Conteudo;
                    Metadados    metadados = artigo.Metadados;
                    List <Anexo> anexos    = artigo.Anexos;


                    //Writing Metadata
                    writer.WriteStartElement("Metadados");

                    writer.WriteAttributeString("ID", conteudo.IntenalId.ToString());
                    if (metadados.Nome != null)
                    {
                        writer.WriteAttributeString("Nome", ConvertBreakline2Space(metadados.Nome));
                    }
                    if (metadados.TipoDoArtigo != null)
                    {
                        writer.WriteAttributeString("TipoDoArtigo", ConvertBreakline2Space(metadados.TipoDoArtigo));
                    }
                    if (conteudo.Hierarquia != null)
                    {
                        writer.WriteAttributeString("Hierarquia", ConvertBreakline2Space(conteudo.Hierarquia));
                    }
                    if (metadados.Grade != null)
                    {
                        writer.WriteAttributeString("Grade", ConvertBreakline2Space(metadados.Grade));
                    }
                    if (metadados.NumeroDaPagina >= 0)
                    {
                        writer.WriteAttributeString("NumPagina", metadados.NumeroDaPagina.ToString());
                    }

                    writer.WriteEndElement();

                    //Writing Body
                    writer.WriteStartElement("Conteudo");

                    if (conteudo.Titulo != null)
                    {
                        writer.WriteElementString("Titulo", ConvertBreakline2Space(conteudo.Titulo));
                    }
                    if (conteudo.Caput != null)
                    {
                        writer.WriteElementString("Caput", conteudo.Caput);
                    }
                    if (conteudo.Corpo != null)
                    {
                        writer.WriteElementString("Corpo", conteudo.Corpo);
                    }
                    if (conteudo.Autor.Count > 0)
                    {
                        writer.WriteStartElement("Autores");
                        foreach (Autor autor in conteudo.Autor)
                        {
                            writer.WriteStartElement("Autor");
                            if (autor.Cargo != null)
                            {
                                if (autor.Assinatura == null)
                                {
                                    writer.WriteString(ConvertBreakline2Space(autor.Cargo));
                                }
                                else
                                {
                                    writer.WriteAttributeString("Cargo", ConvertBreakline2Space(autor.Cargo));
                                    writer.WriteString(ConvertBreakline2Space(autor.Assinatura));
                                }
                            }
                            else
                            {
                                writer.WriteString(ConvertBreakline2Space(autor.Assinatura));
                            }

                            writer.WriteEndElement();

                            //if (autor.Assinatura != null && autor.Assinatura.Length > 3)
                            //    writer.WriteElementString("Assinatura", 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();

                    //Writing Anexos
                    if (anexos.Count > 0)
                    {
                        writer.WriteStartElement("Anexos");
                        foreach (Anexo item in anexos)
                        {
                            writer.WriteStartElement("Anexo");
                            if (item.HierarquiaTitulo != null)
                            {
                                writer.WriteElementString("Hierarquia", item.HierarquiaTitulo);
                            }
                            if (item.Titulo != null)
                            {
                                writer.WriteElementString("Titulo", item.Titulo);
                            }
                            if (item.Texto != null)
                            {
                                writer.WriteElementString("Texto", item.Texto);
                            }
                            writer.WriteEndElement();
                        }
                        writer.WriteEndElement();
                    }
                }

                writer.WriteEndElement();
                writer.WriteEndDocument();
            }
        }