예제 #1
0
        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();
                }
            }
        }
예제 #2
0
        /// <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);
                    }
                }
            }
        }