Пример #1
0
        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("Заказ отменен!");
            }
        }
Пример #2
0
        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("Заказ отменен!");
            }
        }