Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 private static void ManagerDB_ProcDoneHandler()
 {
     _report = DbNotification.GetResultFromDb();
     ReportUpdated?.Invoke(_report);
     if (QMediator.IsAuto)
     {
         TaskFinished?.Invoke(QMediator.CurrentTaskName);
     }
 }
Esempio n. 4
0
 private static void UpdateReport()
 {
     try
     {
         _report = ReadLog();
         ReportUpdated?.Invoke(_report);
         TaskFinished?.Invoke(TaskName.AdrSplit);
     }
     catch (Exception ex)
     {
         ExceptionHandler("UpdateReport()", ex.Message);
     }
 }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        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);
            }
        }