private void CreateOutput(object sender, EventArgs e, int[] years)
 {
     try
     {
         // create an object to handle communication between
         // background stuff and progress dialog:
         _bgworker = HllUtils.MakeWorker(
             new DoWorkEventHandler(bgworker_DoGenerateWork),
             new RunWorkerCompletedEventHandler(bgworker_RunWorkerCompleted),
             new ProgressChangedEventHandler(bgworker_ProgressChanged)
             );
         SetAppState(AppStates.Processing);
         // create and configure a progress dialog:
         ProgressForm        = new frmProgress();
         ProgressForm.Text   = Properties.Resources.ProgressGeneratingTitle;
         ProgressForm.Done   = false;
         ProgressForm.Worker = _bgworker;
         // Hook up "FormClosed" event handler:
         ProgressForm.FormClosed += ProgressForm_FormClosed;
         ProgressForm.Show();
         ProgressForm.AddMessage(Properties.Resources.GeneratingOutputFilesMsg);
         // start the background work:
         _bgworker.RunWorkerAsync(years);
     }
     catch
     {
         SetAppState(AppStates.Viewing);
         if (ProgressForm != null)
         {
             ProgressForm.Close();
         }
         throw;
     }
 }
        /// <summary>
        /// When user double-clicks on an item in the
        /// list of available files, tell the operating system to open
        /// it with the default application (Word or Excel).
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lvAvailableFiles_DoubleClick(object sender, EventArgs e)
        {
            string fn       = lvAvailableFiles.SelectedItems[0].Text;
            string filespec = FileListManager.FullPathForFile(fn);

            if (File.Exists(filespec))
            {
                HllUtils.OpenFile(filespec);
            }
            else
            {
                MessageBox.Show(
                    string.Format(Properties.Resources.FileNotFoundMsg, filespec),
                    Properties.Resources.FileNotFoundTitle,
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error
                    );
            }
        }
 private void AddVestaReports(object sender, EventArgs e)
 {
     string[] report_names = HllUtils.GetVestaReportNames();
     if (report_names != null)
     {
         try
         {
             // create an object to handle communication between
             // background stuff and progress dialog:
             _bgworker = HllUtils.MakeWorker(
                 new DoWorkEventHandler(bgworker_DoImportWork),
                 new RunWorkerCompletedEventHandler(bgworker_RunWorkerCompleted),
                 new ProgressChangedEventHandler(bgworker_ProgressChanged)
                 );
             SetAppState(AppStates.Processing);
             // create and configure a progress dialog:
             ProgressForm        = new frmProgress();
             ProgressForm.Text   = Properties.Resources.ProgressProcessingReportsTitle;
             ProgressForm.Done   = false;
             ProgressForm.Worker = _bgworker;
             // Hook up "FormClosed" event handler:
             ProgressForm.FormClosed += ProgressForm_FormClosed;
             ProgressForm.Show();
             ProgressForm.AddMessage(Properties.Resources.VestaReportProcessingStartMsg);
             // start the background work:
             _bgworker.RunWorkerAsync(report_names);
         }
         catch
         {
             SetAppState(AppStates.Viewing);
             if (ProgressForm != null)
             {
                 ProgressForm.Close();
             }
             throw;
         }
     }
 }
 /// <summary>
 /// Generate label and list documents. Return number of documents
 /// created.
 ///
 /// Display progress messages during processing.
 /// </summary>
 /// <param name="worker"></param>
 /// <returns></returns>
 private int DoOutputProcessing(BackgroundWorker worker, int[] years)
 {
     worker.ReportProgress(0, Properties.Resources.GeneratingOutputFilesMsg);
     return(HllUtils.MakeOutputFiles(worker, years, this.Context));
 }