public bool GenerateArticles() { foreach (MagazineTypeCategorie categorie in _magazine.Categories) { foreach (ArticleType article in categorie.Articles) { DirectoryInfo articleDirectory = _articlesDirectory.CreateSubdirectory(article.ID); DirectoryInfo imageDirectory = articleDirectory.CreateSubdirectory("images"); IEnumerable <XElement> images = article.XDocument.XPathSelectElements("//image"); foreach (XElement image in images) { XAttribute xSrc = image.Attribute("src"); DirectoryInfo sourceDirectory = GetArticleSourceDirectory(article); string src = xSrc.Value; string sourceFileName = Path.Combine(sourceDirectory.FullName, src); string destination = String.Format("images/{0}", Path.GetFileName(sourceFileName)); File.Copy(sourceFileName, Path.Combine(imageDirectory.FullName, Path.GetFileName(destination)), true); image.SetAttributeValue("src", destination); } string content = TemplateManager.RenderTemplate(ARTICLE_FILENAME, article); string outputFileName = Path.Combine(articleDirectory.FullName, ARTICLE_FILENAME); File.WriteAllText(outputFileName, content); } } return(true); }
public bool GenerateEditorial() { StringBuilder benevolesBuilder = new StringBuilder(); HashSet <string> participants = new HashSet <string>(); List <string> listeOrdonnee; string content; foreach (var categorie in _magazine.Categories) { foreach (var article in categorie.Articles) { foreach (var auteur in article.Auteurs) { if (auteur.Role == AuteurRoleEnum.Auteur || auteur.Role == AuteurRoleEnum.Traducteur || auteur.Role == AuteurRoleEnum.Correcteur) { participants.Add(auteur.NomComplet); } } } } listeOrdonnee = participants.OrderBy(x => x).ToList(); benevolesBuilder.AppendLine(@"\begin{itemize}"); for (int i = 0; i < listeOrdonnee.Count; ++i) { string auteur = listeOrdonnee[i]; benevolesBuilder.Append(String.Format(@"\item {0}", auteur)); if (i == listeOrdonnee.Count - 1) { benevolesBuilder.Append("."); } else { benevolesBuilder.Append(" ;"); } benevolesBuilder.AppendLine(); } benevolesBuilder.Append(@"\end{itemize}"); if (_magazine.Editorial.Edito != null) { _magazine.Editorial.Edito = _magazine.Editorial.Edito.Replace("[LISTE_BENEVOLES]", benevolesBuilder.ToString()); content = TemplateManager.RenderTemplate(EDITORIAL_FILENAME, _magazine); } else { content = String.Empty; } string outputFileName = Path.Combine(_magazineDirectory.FullName, EDITORIAL_FILENAME); File.WriteAllText(outputFileName, content); return(true); }
public bool GenerateCouverture() { string content = TemplateManager.RenderTemplate(COUVERTURE_FILENAME, _magazine); string outputFileName = Path.Combine(_magazineDirectory.FullName, COUVERTURE_FILENAME); File.WriteAllText(outputFileName, content); return(true); }
public bool GenerateMagazine() { string content = TemplateManager.RenderTemplate(MAGAZINE_FILENAME, _magazine); string outputFileName = Path.Combine(_rootDirectory.FullName, String.Format("mag{0}.tex", _magazine.Numero)); File.WriteAllText(outputFileName, content); return(true); }