private void StartWizard(bool auto) { // Данные из мастера! DataTable tblOrder; string OrderNum = num.NewOrderNum(db_connection, usr); // Начинаем прием // Первый шаг мастера Wizard.frmStep1 fStep1 = new frmStep1(); Wizard.frmStep2 fStep2 = new frmStep2(); Wizard.frmStep2a fStep2a = new frmStep2a(); Wizard.frmStep3 fStep3 = new frmStep3(); // Передаем данные о пользователе fStep1.usr = this.usr; fStep2.usr = this.usr; fStep2a.usr = this.usr; fStep3.usr = this.usr; // Передаем соединение с базой fStep1.db_connection = this.db_connection; fStep2.db_connection = this.db_connection; fStep2a.db_connection = this.db_connection; fStep3.db_connection = this.db_connection; // Задаем номер заказа fStep1.lblOrderNo.Text = OrderNum; fStep2.lblOrderNo.Text = OrderNum; fStep2a.lblOrderNo.Text = OrderNum; fStep3.lblOrderNo.Text = OrderNum; // если auto истина, то выставляем галку на третьем шаге fStep3.checkOpenOrder.Checked = !auto; // Открываем модально окно первого шага bool wizardok = false; string step = ""; fStep1.ShowDialog(); step = "step1"; while (!wizardok) { switch (step) { case "step1": { switch (fStep1.DialogResult) { case DialogResult.Cancel: { wizardok = true; step = "cancel"; break; } case DialogResult.Retry: { break; } case DialogResult.OK: { tblOrder = fStep1.tblOrder; fStep2a.tblOrder = tblOrder; step = "step2"; fStep2.ShowDialog(); break; } } break; } case "step2": { switch (fStep2.DialogResult) { case DialogResult.Cancel: { wizardok = true; step = "cancel"; break; } case DialogResult.Retry: { step = "step1"; fStep1.ShowDialog(); break; } case DialogResult.OK: { step = "step2a"; fStep2a.client = fStep2.client; fStep2a.ShowDialog(); break; } } break; } case "step2a": { switch (fStep2a.DialogResult) { case DialogResult.Cancel: { wizardok = true; step = "cancel"; break; } case DialogResult.Retry: { step = "step2"; fStep2.ShowDialog(); break; } case DialogResult.OK: { step = "step3"; fStep3.ShowDialog(); break; } } break; } case "step3": { switch (fStep3.DialogResult) { case DialogResult.Cancel: { wizardok = true; step = "cancel"; break; } case DialogResult.Retry: { step = "step2a"; fStep2a.ShowDialog(); break; } case DialogResult.OK: { step = "end"; wizardok = true; break; } } break; } } } // визард с горем пополам окончил работу // если не нажата отмена if ((step != "cancel") && (step != "") && (step == "end")) { OrderInfo Order = new OrderInfo(db_connection); Order.Usr = this.usr; Order.Client = fStep2.client; Order.Discont = fStep2a.discont; Order.OrderBody = fStep1.tblOrder; if (fStep1.radioCrop1.Checked) Order.Crop = 1; if (fStep1.radioCrop2.Checked) Order.Crop = 2; if (fStep1.radioCrop3.Checked) Order.Crop = 3; if (fStep1.radioPapperType1.Checked) Order.Type = 1; if (fStep1.radioPapperType2.Checked) Order.Type = 2; Order.Datein = DateTime.Now.ToShortDateString(); Order.Timein = DateTime.Now.ToShortTimeString(); Order.Dateout = fStep3.cldrDate.SelectedDates[0].ToShortDateString(); Order.Timeout = fStep3.gridTime.GetData(fStep3.gridTime.Row, fStep3.gridTime.ColSel).ToString(); Order.AdvancedPayment = fStep2a.AdvancedPayment; Order.FinalPayment = fStep2a.FinalPayment; Order.Orderno = OrderNum; if (fStep3.checkOpenOrder.Checked) { frmOrder fOrder = new frmOrder(usr, true, Order); fOrder.db_connection = db_connection; fOrder.ShowDialog(); if (fOrder.DialogResult == DialogResult.Cancel) { fStep1.tmr.Stop(); fStep1.Close(); fStep2.Close(); fStep2a.Close(); fStep3.Close(); fOrder.Close(); try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Directory.Delete(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } else { Directory.Delete(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Directory.Delete(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } else { Directory.Delete(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } MessageBox.Show("Заказ отменен!"); } else { Order = fOrder.order; fStep1.tmr.Stop(); fStep1.Close(); fStep2.Close(); fStep2a.Close(); fStep3.Close(); fOrder.Close(); // Сохраняем из расшир формы if (!Order.SaveAdvOrder()) { MessageBox.Show("Внимание! Ошибка при сохранении заказа!\nЗАКАЗ НЕ БУДЕТ СОХРАНЕН!!!\nДополнительная информация: " + Order.Err, "Сохранение заказа", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (!Order.SaveAdvTextFile()) { MessageBox.Show("Ошибка сохранения информации о заказе в текстовый файл!\nДополнительная информация: " + Order.Err, "Сохранение дополнительной информации", MessageBoxButtons.OK, MessageBoxIcon.Information); } PrintCheck(Order.Orderno); } } } else { fStep1.tmr.Stop(); fStep1.Close(); fStep2.Close(); fStep2a.Close(); fStep3.Close(); // Сохраняем из мастера if (!Order.SaveEasyOrder()) { MessageBox.Show("Внимание! Ошибка при сохранении заказа!\nЗАКАЗ НЕ БУДЕТ СОХРАНЕН!!!\nДополнительная информация: " + Order.Err, "Сохранение заказа", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (!Order.SaveEasyTextFile()) { MessageBox.Show("Ошибка сохранения информации о заказе в текстовый файл!\nДополнительная информация: " + Order.Err, "Сохранение дополнительной информации", MessageBoxButtons.OK, MessageBoxIcon.Information); } PrintCheck(Order.Orderno); } } fStep1.tmr.Stop(); fStep1.Close(); fStep2.Close(); fStep2a.Close(); fStep3.Close(); } else { fStep1.tmr.Stop(); fStep1.Close(); fStep2.Close(); fStep2a.Close(); fStep3.Close(); try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Directory.Delete(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } else { Directory.Delete(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Directory.Delete(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } else { Directory.Delete(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + OrderNum, true); } } } catch(Exception ex) { ErrorNfo.WriteErrorInfo(ex); } MessageBox.Show("Заказ отменен!"); } }
private void OpenNewQuickOrder() { frmOrder fOrder = new frmOrder(usr, true); fOrder.db_connection = db_connection; fOrder.Momental.Visible = true; fOrder.ShowDialog(); if (fOrder.DialogResult == DialogResult.OK) { OrderInfo Order = new OrderInfo(db_connection); Order = fOrder.order; fOrder.Close(); Order.Distanation = "000000"; // Сохраняем из расшир формы if (!Order.SaveAdvOrder(true)) { MessageBox.Show("Внимание! Ошибка при сохранении заказа!\nЗАКАЗ НЕ БУДЕТ СОХРАНЕН!!!\nДополнительная информация: " + Order.Err, "Сохранение заказа", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if (!Order.SaveAdvTextFile()) { MessageBox.Show("Ошибка сохранения информации о заказе в текстовый файл!\nДополнительная информация: " + Order.Err, "Сохранение дополнительной информации", MessageBoxButtons.OK, MessageBoxIcon.Information); } PrintCheck(Order.Orderno); } } else { OrderInfo Order = new OrderInfo(db_connection); Order = fOrder.order; fOrder.Close(); try { if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + Order.Orderno + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Directory.Delete(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + Order.Orderno, true); } } else { Directory.Delete(prop.Dir_print + "\\" + fso.GetDateSubFolders() + "\\" + Order.Orderno, true); } } if (!prop.DenyDelete) { if (prop.QueryForDelete) { if (MessageBox.Show("Удалить папку " + prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + Order.Orderno + " ?", "Debug", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Directory.Delete(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + Order.Orderno, true); } } else { Directory.Delete(prop.Dir_edit + "\\" + fso.GetDateSubFolders() + "\\" + Order.Orderno, true); } } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); } MessageBox.Show("Заказ отменен!"); } }