/// <summary> /// /// </summary> /// <param name="ContentPath">Директория, в которую сохраняем контент</param> public void UpdateContent(string ContentPath) { //сначала удаляем старые файлы if (!Directory.Exists(ContentPath)) { Logs.WriteLine("Директория со старым контентом не найдена. Пропускаю удаление."); } else { try { Directory.Delete(ContentPath, true); } catch (Exception e) { Logs.WriteLine("При удалении старого контента возникла ошибка. Подробности:" + e.Message); MessageBox.Show("Ошибка при обновлении контента!" + Environment.NewLine + "Пожалуйста, закройте все открытые Вами файлы и папки и перезапустите приложение." + Environment.NewLine + "Если ошибка продолжает появляться, отправьте логи разработчику."); Environment.Exit(0); } } //запускаем потоки-конвертеры для теории, примеров и тестов Logs.WriteLine("Запуск потоков-конвертеров"); TexConverter theory = new TexConverter(path, ContentPath, "Теория"); TexConverter examples = new TexConverter(path, ContentPath, "Примеры"); TestConverter tests = new TestConverter(path, ContentPath, "Тесты"); Thread thread_theory = new Thread(theory.Run); thread_theory.Start(); Thread thread_examples = new Thread(examples.Run); thread_examples.Start(); Thread thread_tests = new Thread(tests.Run); thread_tests.Start(); while (thread_theory.ThreadState == ThreadState.Running || thread_examples.ThreadState == ThreadState.Running || thread_tests.ThreadState == ThreadState.Running) { Application.DoEvents(); } Logs.WriteLine("Конвертеры завершили работу"); }
/// <summary> /// /// </summary> /// <param name="ContentPath">Директория, в которую сохраняем контент</param> public void UpdateContent(string ContentPath) { //сначала удаляем старые файлы if (!Directory.Exists(ContentPath)) Logs.WriteLine("Директория со старым контентом не найдена. Пропускаю удаление."); else { try { Directory.Delete(ContentPath, true); } catch(Exception e) { Logs.WriteLine("При удалении старого контента возникла ошибка. Подробности:"+e.Message); MessageBox.Show("Ошибка при обновлении контента!"+Environment.NewLine+"Пожалуйста, закройте все открытые Вами файлы и папки и перезапустите приложение."+Environment.NewLine+"Если ошибка продолжает появляться, отправьте логи разработчику."); Environment.Exit(0); } } //запускаем потоки-конвертеры для теории, примеров и тестов Logs.WriteLine("Запуск потоков-конвертеров"); TexConverter theory = new TexConverter(path,ContentPath,"Теория"); TexConverter examples = new TexConverter(path, ContentPath, "Примеры"); TestConverter tests = new TestConverter(path, ContentPath, "Тесты"); Thread thread_theory = new Thread(theory.Run); thread_theory.Start(); Thread thread_examples = new Thread(examples.Run); thread_examples.Start(); Thread thread_tests = new Thread(tests.Run); thread_tests.Start(); while (thread_theory.ThreadState == ThreadState.Running || thread_examples.ThreadState == ThreadState.Running || thread_tests.ThreadState == ThreadState.Running) { Application.DoEvents(); } Logs.WriteLine("Конвертеры завершили работу"); }