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