public static void RunCtrlCreator() { try { //_report = "Создание контрола..."; ReportUpdated?.Invoke(_report); ProcessStartInfo pInfo = new ProcessStartInfo("c-creator.exe"); if (QMediator.PathToRegDest != null) { DirectoryInfo directoryInfo = new DirectoryInfo(QMediator.PathToRegDest); FileInfo[] files = directoryInfo.GetFiles("*.xls*"); string path = ""; if (files.Length > 0) { path = files[0].FullName; } pInfo.Arguments = "\"" + path + "\""; } if (File.Exists(@"x:\utils\Control-creator\c-creator\bin\Release\c-creator.exe")) { pInfo.WorkingDirectory = @"x:\utils\Control-creator\c-creator\bin\Debug\"; } Process p = Process.Start(pInfo); ReportUpdated?.Invoke(_report); } catch (Exception ex) { ExceptionHandler("RunCtrlCreator", ex.Message); } }
public static void SearchCtrl() { try { _report = "Подбор контрола..." + Environment.NewLine; ReportUpdated?.Invoke(_report); DirectoryInfo di = new DirectoryInfo(QMediator.PathToRegDest); FileInfo[] fArr = di.GetFiles("imp.xls*"); if (fArr.Length < 1) { _report = string.Format("В папке {0} не найден файл imp.xls* ", di.FullName); ReportUpdated?.Invoke(_report); return; } string pathToImp = fArr[0].FullName; int xlsCollCount = ManagerXls.GetFileCollCount(pathToImp); FileInfo[] csvArr = GetCsvList(); List <FileInfo> csvCheckedList = GetCheckedList(csvArr, xlsCollCount); if (csvCheckedList.Count < 1) { _report += "Нет подходящего контрола."; ReportUpdated?.Invoke(_report); return; } csvCheckedList.Sort((x, y) => DateTime.Compare(y.LastWriteTime, x.LastWriteTime)); FileInfo resultFile = csvCheckedList[0]; if (resultFile.DirectoryName != QMediator.PathToRegDest) { File.Copy(resultFile.FullName, QMediator.PathToRegDest + "\\" + resultFile.Name, true); _report += "Скопирован, подходящий по размеру контрол, из " + resultFile.FullName + Environment.NewLine; } else { _report += "Текущий контрол подходит по размеру." + Environment.NewLine; } //_report += "путь к екселю: " + pathToImp + Environment.NewLine; _report += "С толбцов в экселе: " + xlsCollCount + Environment.NewLine; _report += "Строк в контроле: " + GetCsvRowCount(resultFile); //foreach (var item in csvCheckedList) //{ // _report += (item.FullName + "\t" + "в контроле строк: " + GetCsvRowCount(item) + " " + item.LastWriteTime + Environment.NewLine); //} ReportUpdated?.Invoke(_report); } catch (Exception ex) { ExceptionHandler("SearchCtrl()", ex.Message); } }
private static void ManagerDB_ProcDoneHandler() { _report = DbNotification.GetResultFromDb(); ReportUpdated?.Invoke(_report); if (QMediator.IsAuto) { TaskFinished?.Invoke(QMediator.CurrentTaskName); } }
private static void UpdateReport() { try { _report = ReadLog(); ReportUpdated?.Invoke(_report); TaskFinished?.Invoke(TaskName.AdrSplit); } catch (Exception ex) { ExceptionHandler("UpdateReport()", ex.Message); } }
public static void CreateNewFiles() { try { Directory.CreateDirectory(QMediator.PathToProgDest); FindSource(QMediator.PathToRegDest, FileType.Reg); FindSource(QMediator.PathToProgDest, FileType.Prog); ReportUpdated?.Invoke(_report); } catch (Exception ex) { ExceptionHandler("CreateNewFiles()", ex.Message); } }
static public void Initialize() { try { _report = ""; //using (var fbd = new FolderBrowserDialog()) //{ // //fbd.SelectedPath = @"x:\Реєстри\ЄАПБ (Факторинг)\"; // fbd.SelectedPath = @"x:\Реєстри\ЯЯЯTest\1 1111"; // DialogResult result = fbd.ShowDialog(); // if (result == System.Windows.Forms.DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath)) // { // QMediator.PathToRegDest = fbd.SelectedPath; // QMediator.PathToProgDest = QMediator.PathToRegDest.Replace("Реєстри", "Progs\\Registry"); // Initialized?.Invoke(true); // } //} //ReportUpdated?.Invoke(_report); CommonOpenFileDialog dialog = new CommonOpenFileDialog { InitialDirectory = @"x:\Реєстри", IsFolderPicker = true }; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { QMediator.PathToRegDest = dialog.FileName; QMediator.PathToProgDest = QMediator.PathToRegDest.Replace("Реєстри", "Progs\\Registry"); Initialized?.Invoke(true); } ReportUpdated?.Invoke(_report); } catch (Exception ex) { ExceptionHandler("Initialize()", ex.Message); } }
public static void SplitAdr() { try { _report = "\n\n\t Разбивка адресов..."; ReportUpdated?.Invoke(_report); SplitCompletHandler += UpdateReport; ProcessStartInfo pInfo = new System.Diagnostics.ProcessStartInfo(@"x:\utils\AdressSpliter\Adr\Adr\bin\Debug\Adr.exe"); if (QMediator.PathToRegDest != null) { pInfo.Arguments = ("\"" + QMediator.PathToRegDest + "\""); } Process process = Process.Start(pInfo); process.EnableRaisingEvents = true; process.Exited += SplitFinished; } catch (Exception ex) { ExceptionHandler("SplitAdr()", ex.Message); } }
public static void ProgsToExec(ExecProgsType taskName) { try { _report = "Выполнение программ...\n\n"; ReportUpdated?.Invoke(_report); if (QMediator.PathToProgDest != null) { string str; if (taskName == ExecProgsType.Oktel) { str = "\\post!\\oktel"; QMediator.CurrentTaskName = TaskName.Oktel; DbNotification.ResultWaiter(); } else { str = taskName == ExecProgsType.PredProgs ? "\\!pred" : "\\post!"; } string path = QMediator.PathToProgDest + str; if (!new DirectoryInfo(path).Exists) { Directory.CreateDirectory(path); _report = "Нет программ для выполнения."; } else { List <string> filePathList = GetFilesForExec(path); if (filePathList.Count < 1) { _report = "Нет программ для выполнения."; ReportUpdated?.Invoke(_report); if (taskName == ExecProgsType.PredProgs) { TaskFinished?.Invoke(TaskName.PredProgs); } else if (taskName == ExecProgsType.PostProgs) { TaskFinished?.Invoke(TaskName.PostProgs); } else { TaskFinished?.Invoke(TaskName.Oktel); } return; } foreach (var item in filePathList) { _report += Environment.NewLine + "Файл:\t\t" + item; bool isOk = true; string fileText = File.ReadAllText(item, Encoding.Default); try { if (fileText.ToLower().Contains("begin")) { ManagerDB.ExecCommand(fileText); } else { isOk = SplitAndExec(fileText); } } catch (Exception ex) { isOk = false; ExceptionHandler("ProgsToExec()", ex.Message); } _report += ("\t" + (isOk == true ? "отработал нормально." : "отработал с ошибками.") + Environment.NewLine); } } } else { _report = "Не определен путь к программам."; } ReportUpdated?.Invoke(_report); if (taskName == ExecProgsType.PredProgs) { TaskFinished?.Invoke(TaskName.PredProgs); } else if (taskName == ExecProgsType.PostProgs) { TaskFinished?.Invoke(TaskName.PostProgs); } else { TaskFinished?.Invoke(TaskName.Oktel); } } catch (Exception ex) { ExceptionHandler("ProgsToExec()", ex.Message); } }