示例#1
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);
        }
示例#2
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);
        }
示例#3
0
        /// <summary>
        /// Method for training base with data from the specified folder
        /// </summary>
        /// <param name="destination_name">specified folder</param>
        public static void StartTraining(bool type_of_parse)
        {
            string destination_name = "ems-resume";

            PostgreDB.ReadFilesInDB();
            LogicForTraining.TrainList = new List <TrainSkill>();
            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(() => LogicForTraining.NewTrain(file.FullName)));
                        threads.Last().Start();
                    }
                    AwaitThreads(ref threads);
                    if (type_of_parse)
                    {
                        WriteDataInDBWithSaving();
                    }
                    else
                    {
                        WriteDataInDB();
                    }
                }
                else
                {
                    new Models.Exceptions_and_Events.Exception("finding documents", "ERROR", "folder doesn't contain documents");
                }
            }
            else
            {
                new Models.Exceptions_and_Events.Exception("finding folder", "ERROR", "folder not found");
            }
        }