Пример #1
0
 private void btDownload_Click()
 {
     try{
         var activesheet = (Excel.Worksheet)_excelapp.ActiveSheet;
         if (!_parser.checkTablePresent(activesheet))
         {
             return;
         }
         using (var lForm = new FrmDownload(_excelapp.Hwnd)) {
             lForm.Reports            = _parser.GetReportsList(activesheet.ListObjects[1]);
             lForm.Directory          = _settings.GetWorksheetParam("Directory", @"C:\");
             lForm.AssociatedInstance = _settings.GetWorksheetParam("DownInstance", "SPECIFIED");
             lForm.Format             = _settings.GetWorksheetParam("DownFormat", "DEFAULT");
             if (lForm.ShowDialog() != DialogResult.OK)
             {
                 return;
             }
             var reports = _parser.ParseListObjectToReports(activesheet.ListObjects[1], false);
             _settings.SetWorksheetParam("Directory", lForm.Directory);
             _settings.SetWorksheetParam("DownInstance", lForm.AssociatedInstance);
             _settings.SetWorksheetParam("DownFormat", lForm.Format);
             var scheduler = new SchedulerManager(_session);
             var runner    = new FrmRunner(_session.Logger, scheduler.Cancel);
             var exitcode  = runner.Execute(() =>
                                            scheduler.DownloadReportsFile(ref reports, lForm.Directory, lForm.AssociatedInstance, lForm.Format)
                                            );
             if (exitcode == ExitCode.FAILED || exitcode == ExitCode.CANCELED)
             {
                 return;
             }
             _parser.UpdateListObjectStatus(activesheet.ListObjects[1], reports);
         }
     } catch (Exception ex) { new BusinessObjectsUtils.FrmException(_excelapp.Hwnd, ex).ShowDialog(); }
 }