示例#1
0
        private void ProgressForm_Load(object sender, EventArgs e)
        {
            var boxShown = false;

            foreach (var item in _filesToProcess)
            {
                var info = new JobInfo();

                var textBox = new TextBox
                {
                    Text =
                        string.Format("{0}{1}{2}{1}Starting...{1}", item, Environment.NewLine,
                                      new string('-', 30)),
                    Dock       = DockStyle.Fill,
                    Multiline  = true,
                    Tag        = info,
                    ScrollBars = ScrollBars.Vertical
                };

                if (boxShown)
                {
                    textBox.Visible = false;
                }
                else
                {
                    textBox.Visible = true;
                    boxShown        = true;
                }

                ProgressSplit.Panel2.Controls.Add(textBox);
                info.updateTextbox = textBox;

                JobDataView.Rows.Add(item, 0);
                var row = JobDataView.Rows[JobDataView.Rows.Count - 1];
                row.Tag       = info;
                info.rowShown = row;

                var runProgram = new MainLogic(info)
                {
                    PercentageUpdate = UpdatePercentage,
                    LogUpdate        = UpdateLog,
                    StatusUpdate     = UpdateBarStatus
                };
                _tasksRunningList.Add(runProgram);
                info.workProcess = runProgram;

                string workItem = item;
                if (MainForm.IsNetworkSource(item))
                {
                    workItem = _unifiCredentialsByUrl[item].GetUrlWithAuthentication(item);
                }

                var config = runProgram.ParseCommandLine(_outputFolder, (workItem + "|" + _options).Trim('|'));
                runProgram.QueueWork(config);
            }

            MainLogic.RunQueue();
        }
示例#2
0
        private void ProgressForm_Load(object sender, EventArgs e)
        {
            var boxShown = false;

            foreach (var item in _filesToProcess)
            {
                var info = new JobInfo();

                var textBox = new TextBox
                                  {
                                      Text =
                                          string.Format("{0}{1}{2}{1}Starting...{1}", item, Environment.NewLine,
                                                        new string('-', 30)),
                                      Dock = DockStyle.Fill,
                                      Multiline = true,
                                      Tag = info,
                                      ScrollBars = ScrollBars.Vertical
                                  };

                if (boxShown)
                    textBox.Visible = false;
                else
                {
                    textBox.Visible = true;
                    boxShown = true;
                }

                ProgressSplit.Panel2.Controls.Add(textBox);
                info.updateTextbox = textBox;

                JobDataView.Rows.Add(item, 0);
                var row = JobDataView.Rows[JobDataView.Rows.Count - 1];
                row.Tag = info;
                info.rowShown = row;

                var runProgram = new MainLogic(info)
                                     {
                                         PercentageUpdate = UpdatePercentage,
                                         LogUpdate = UpdateLog,
                                         StatusUpdate = UpdateBarStatus
                                     };
                _tasksRunningList.Add(runProgram);
                info.workProcess = runProgram;

                var config = runProgram.ParseCommandLine(_outputFolder, (item + "|" + _options).Trim('|'));
                runProgram.QueueWork(config);
            }

            MainLogic.RunQueue();
        }
示例#3
0
        private string RunFile(IEnumerable<string> testPaths, MainLogic logicAccessor, string[] extraArgs, string extension)
        {
            foreach (string filepath in testPaths)
            {
                var outputDirectory = Path.GetFileName(filepath);
                if (!Directory.Exists(outputDirectory))
                    Directory.CreateDirectory(outputDirectory);

                string[] runIds = ReaderList.FullReaderList.readIds(filepath);

                var psi = new ProcessStartInfo(Path.Combine(_workingDirectory, "msconvert.exe"))
                              {
                                  Arguments = String.Format("{0} --64 --outdir \"{1}\" \"{2}\"",
                                                            String.Join(" ", extraArgs).Replace('|', ' '),
                                                            outputDirectory,
                                                            filepath),
                                  UseShellExecute = false,
                                  CreateNoWindow = true
                              };
                var proc = new Process { StartInfo = psi };

                // start console conversion
                proc.Start();
                proc.WaitForExit();

                foreach (string runId in runIds)
                {
                    var outputFilepath = Directory.GetFiles(outputDirectory, "*" + runId + "." + extension).First();
                    var consoleOutput = Path.ChangeExtension(outputFilepath, ".console." + extension);
                    Assert.IsTrue(File.Exists(outputFilepath), "Console result file not found");
                    File.Move(outputFilepath, consoleOutput);
                }

                // start GUI conversion
                var config = logicAccessor.ParseCommandLine(outputDirectory, String.Format("{0}|{1}", String.Join("|", extraArgs).Replace("\"", String.Empty), filepath).Trim('|'));
                logicAccessor.QueueWork(config);
                MainLogic.Work();

                foreach (string runId in runIds)
                {
                    var outputFilepath = Directory.GetFiles(outputDirectory, "*" + runId + "." + extension).First();
                    var guiOutput = Path.ChangeExtension(outputFilepath, ".gui." + extension);
                    Assert.IsTrue(File.Exists(outputFilepath), "GUI result file not found");
                    File.Move(outputFilepath, guiOutput);
                }
            }

            return extension;
        }