internal void OptimizeDetailsList(Int32 detailsIistID) { _job = new OptimizingJob(); _job.Load(Properties.Settings.Default.CutOptimaConnectionString, new Int32[] { detailsIistID }); _progressForm = new ProgressForm(new ProgressSource(_job)); _progressForm.StartPosition = FormStartPosition.CenterParent; _progressForm.Cancel += OnCancel; _progressForm.Show(); _job.AsyncExecute(); while (!_job.Join(100)) { Application.DoEvents(); } _progressForm.Close(); if (_job.Status == StatusType.Error) { MessageBox.Show(_job.Error.Message); } else if (_job.Status == StatusType.Completed) { ShowCuttingResult(_job.Result); } }
internal void CuttingCommand() { CuttingWizard wizard = new CuttingWizard(); if (wizard.Execute(MainForm.Instance)) { _job = new OptimizingJob(); _job.Load(Properties.Settings.Default.CutOptimaConnectionString, wizard.DetailsListsIDs, wizard.SheetsIDs); _progressForm = new ProgressForm(new ProgressSource(_job)); _progressForm.StartPosition = FormStartPosition.CenterParent; _progressForm.Cancel += OnCancel; _progressForm.Show(); _job.AsyncExecute(); while (!_job.Join(500)) { Application.DoEvents(); } if (_job.Status == StatusType.Error) { MessageBox.Show(_job.Error.Message); } else if (_job.Status == StatusType.Completed) { ShowCuttingResult(_job.Result); } } }