Esempio n. 1
0
        /// <summary>
        /// Method for parse files from the specified folder
        /// </summary>
        /// <param name="destination_name">specified folder</param>
        public static void StartParsingAllDoc()
        {
            string destination_name = "ems-resume";

            //PostgreDB.ReadFilesInDB();
            if (Directory.Exists(destination_name))
            {
                List <Thread> threads = new List <Thread>();                                                   //Create list with threads
                DirectoryInfo dir     = new DirectoryInfo(destination_name);                                   //Open directory
                FileInfo[]    files   = dir.GetFiles("*.doc");                                                 //Get files from directory

                if (files.Length != 0)
                {
                    foreach (FileInfo file in files)                                                               //For each file, create new thread
                    {
                        threads.Add(new Thread(() => LogicForParsing.NewParse(file.FullName, file.Name)));
                        threads.Last().Start();
                    }
                    AwaitThreads(ref threads);
                    new Models.Exceptions_and_Events.Info("updating projects and skills", "INFO", "sending projects", 0);
                    PrivateDictionary.SendProjects(Project.FindSimpleProjects(LogicForParsing.ProjectsList));
                    new Models.Exceptions_and_Events.Info("updating projects and skills", "INFO", "sending skills", 0);
                    PrivateDictionary.UpdateDictionarySkills();
                }
            }
            else
            {
                new Models.Exceptions_and_Events.Exception("finding folder", "ERROR", "folder not found");
            }
        }
Esempio n. 2
0
        private static void WriteDataInDBWithSaving()
        {
            var tempList = LogicForTraining.GenerateTrains(LogicForTraining.TrainList);
            var forWrite = new List <Skill>();

            foreach (var item in tempList)
            {
                forWrite.Add(item.ForWrite());
            }
            PrivateDictionary.UpdateDictionarySkills(forWrite);
        }
 private static void DeleteSimpleSkills(ref List <BufferSkill> skills)
 {
     PrivateDictionary.FindAllСoncurrencesInTemplate(ref skills);
     for (int i = 0; i < skills.Count; i++)
     {
         if (skills[i].Date != null)
         {
             skills[i].SimilarSkills.Add(skills[i]);
         }
         skills[i].level = FindLevel(skills[i].SimilarSkills);
     }
 }
Esempio n. 4
0
        private static void WriteDataInDB()
        {
            var list = LogicForTraining.TrainList;

            LogicForTraining.GenerateData(list);
            List <Skill> newList = new List <Skill>();

            foreach (var skill in list)
            {
                newList.Add(skill.ForWrite());
            }
            PrivateDictionary.UpdateDictionarySkills(newList);
        }
Esempio n. 5
0
        internal static List <TrainSkill> GenerateTrains(List <TrainSkill> afterTrain)
        {
            var tempList = new List <TrainSkill>();
            var fromDB   = PrivateDictionary.GetDataFromDB <Skill>("skills");

            foreach (var s in fromDB)
            {
                var temp = s.ForTrain();
                Rules.CreateRules(temp);
                foreach (string str in temp.SimilarSkills)
                {
                    temp.Skills.Add(new TrainSkill {
                        NameOfSkill = str, CodeOfSkill = str
                    });
                    Rules.CreateRules(temp.Skills[temp.Skills.Count - 1]);
                }
                tempList.Add(temp);
            }
            PreproccessTech(ref tempList);
            tempList.AddRange(afterTrain);
            GenerateData(tempList);
            return(tempList);
        }