public void TestDAssemblageConseiller() { UtilisateurGraphRepository utulisateurGraphRepository; Conseiller conseiller; Utilisateur utilisateur; DirectoryInfo extractedDirectory; string gabaritDirectoryPath = @"..\\..\\..\\Gabarits"; try { CVGenerator generator = new CVGenerator(); utulisateurGraphRepository = new UtilisateurGraphRepository("Graphe_Essay", "graph_cv"); extractedDirectory = new DirectoryInfo($"{gabaritDirectoryPath}\\Modele_a_generer"); if (extractedDirectory.Exists) { extractedDirectory.Delete(true); } extractedDirectory = null; utulisateurGraphRepository.DeleteAllDocs(); generator.ProcessCV(gabaritDirectoryPath); utilisateur = utulisateurGraphRepository.GetAll().First(); conseiller = utilisateur.Conseiller; Assert.IsNotNull(utilisateur); Assert.AreEqual(2, conseiller.FormationsScolaires.Count); Assert.AreEqual(1, conseiller.Associations.Count); Assert.AreEqual(9, conseiller.Formations.Count); Assert.IsNotNull(conseiller.Fonction); Assert.AreEqual(7, conseiller.DomaineDInterventions.Count); Assert.AreEqual(1, conseiller.Technologies.Count); Assert.AreEqual(2, conseiller.Employeurs.Count); } finally { FileInfo fileInfo = new FileInfo($"{gabaritDirectoryPath}\\Modele_a_generer.xml"); if (fileInfo.Exists) { fileInfo.Delete(); } } }
/// <summary> /// Fait l'extraction et la conversion d'un CV LGS vers un fichier en format xml depuis un dossier avec des fichiers docx /// </summary> /// <param name="path">Chemin du dossier où sont les fichiers de CV en format docx</param> public void ProcessCV(string path) { string extractedXmlText, currentExtractFolder; DirectoryInfo directoryInfo; FileInfo[] filesInDirectory; DocxExtractor docxExtractor = new DocxExtractor(); utilisateurRepo = new UtilisateurGraphRepository(); directoryInfo = new DirectoryInfo(path); if (directoryInfo.Exists) { //Prendre seulement les fichiers docx filesInDirectory = directoryInfo.GetFiles("*.docx", SearchOption.TopDirectoryOnly); if (filesInDirectory.Length > 0) { #if DEBUG utilisateurRepo.DeleteAllDocs(); #endif foreach (FileInfo file in filesInDirectory) { //Nous avons besoin d'un ficher dont le contenu est le text du docx (.\\word\\document.xml) extractedXmlText = docxExtractor.ExtractDocxTextXml(file); //Fait la génération d'un xml plus structuré GenerateCVXml(extractedXmlText, file.FullName.Replace(file.Extension, ".xml")); //Efface le dossier généré par l'extraction currentExtractFolder = file.FullName.Replace(file.Extension, ""); docxExtractor.DeleteExtractedDirectory(currentExtractFolder); } } } }