private void AddEvent(string Event, int id) { try { OrderInfo order = new OrderInfo(db_connection, id); string body = ""; for (int i = 0; i < order.OrderBody.Rows.Count; i++) { body += order.OrderBody.Rows[i][9].ToString() + "|" + order.OrderBody.Rows[i][1].ToString().Trim() + "|" + order.OrderBody.Rows[i][3].ToString().Trim() + "|" + order.OrderBody.Rows[i][4].ToString().Trim() + "|" + order.OrderBody.Rows[i][5].ToString().Trim() + "|" + order.OrderBody.Rows[i][6].ToString().Trim() + "|" + order.OrderBody.Rows[i][7].ToString().Trim() + "|" + order.OrderBody.Rows[i][18].ToString().Trim() + "|" + order.OrderBody.Rows[i][13].ToString().Trim() + "|" + order.OrderBody.Rows[i][11].ToString().Trim() + "|" + order.OrderBody.Rows[i][16].ToString().Trim() + "|" + order.OrderBody.Rows[i][17].ToString().Trim(); body += "#"; } body = body.Substring(0, body.Length - 1); body = "$$" + body + "$$" + order.AdvancedPayment + "$$" + order.FinalPayment + "$$" + order.Bonus; SqlCommand _cmd = new SqlCommand("INSERT INTO [dbo].[orderevent] ([id_order], [event_user], [event_status], [event_point], [event_text]) VALUES (" + order.Id + ", '" + usr.Name.Trim() + "', '" + order.Distanation + "', '" + prop.Order_prefics.Trim() + "', '" + Event + body + "')", db_connection); _cmd.ExecuteNonQuery(); } catch (Exception ex) { } }
public frmOrder(UserInfo usr, bool New_Order, OrderInfo order) { InitializeComponent(); this.Text = "Заказ"; this.order = order; this.NewOrder = New_Order; this.usr = usr; }
private void AddEvent(string Event, int id) { try { SqlConnection cn = new SqlConnection(prop.Connection_string); cn.Open(); OrderInfo order = new OrderInfo(cn , id); string body = ""; for (int i = 0; i < order.OrderBody.Rows.Count; i++) { body += order.OrderBody.Rows[i][9].ToString() + "|" + order.OrderBody.Rows[i][1].ToString().Trim() + "|" + order.OrderBody.Rows[i][3].ToString().Trim() + "|" + order.OrderBody.Rows[i][4].ToString().Trim() + "|" + order.OrderBody.Rows[i][5].ToString().Trim() + "|" + order.OrderBody.Rows[i][6].ToString().Trim() + "|" + order.OrderBody.Rows[i][7].ToString().Trim() + "|" + order.OrderBody.Rows[i][18].ToString().Trim() + "|" + order.OrderBody.Rows[i][13].ToString().Trim() + "|" + order.OrderBody.Rows[i][11].ToString().Trim() + "|" + order.OrderBody.Rows[i][16].ToString().Trim() + "|" + order.OrderBody.Rows[i][17].ToString().Trim(); body += "#"; } if (body.Length > 0) body = body.Substring(0, body.Length - 1); body = "$$" + body + "$$" + order.AdvancedPayment + "$$" + order.FinalPayment + "$$" + order.Bonus; SqlCommand _cmd = new SqlCommand("INSERT INTO [dbo].[orderevent] ([id_order], [event_user], [event_status], [event_point], [event_text]) VALUES (" + order.Id + ", '" + usr.Name.Trim() + "', '" + order.Distanation + "', '" + prop.Order_prefics.Trim() + "', '" + Event + body + "')", cn); _cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show("Ошибка записи в историю.\n" + ex.Message + "\n" + ex.Source); } }
private void PrintCheck() { // Печатаем чек using (SqlConnection con = new SqlConnection(prop.Connection_string)) { con.Open(); foreach (DataRow r in _order.Rows) { OrderInfo prnOrder = new OrderInfo(con, r[14].ToString().Trim(), true); try { if (prop.PathReportsTemplates != "") { rep.Load(prop.PathReportsTemplates, "Check"); rep.DataSource.Recordset = prnOrder.OrderBody; decimal itog = 0; decimal iitog = 0; for (int i = 0; i < prnOrder.OrderBody.Rows.Count; i++) { itog += decimal.Parse(prnOrder.OrderBody.Rows[i]["price"].ToString()) * decimal.Parse(prnOrder.OrderBody.Rows[i]["quantity"].ToString()); } rep.Fields["Total"].Text = itog.ToString().Replace(",", "."); rep.Fields["BarCode"].Text = prnOrder.Orderno.Trim(); rep.Fields["OrderNo"].Text = prnOrder.Orderno.Trim(); rep.Fields["DateOut"].Text = prnOrder.Dateout + " " + prnOrder.Timeout; rep.Fields["Client"].Text = prnOrder.Client.Name.Trim(); rep.Fields["AddonInfo"].Text = prop.ReklamBlock1; rep.Fields["Priemka"].Text = "Заказ принят: " + prnOrder.Datein + " " + prnOrder.Timein + "\nЗаказ принял: " + prnOrder.Name_accept; string tp = ""; switch (prnOrder.Crop) { case 1: { tp = "Обрезать под формат; "; break; } case 2: { tp = "Сохранить пропорции; "; break; } case 3: { tp = "Реальный размер; "; break; } } if (prnOrder.Preview > 0) rep.Fields["PreView"].Visible = true; if (prnOrder.Type == 1) tp += "Глянцевая бумага;"; if (prnOrder.Type == 2) tp += "Матовая бумага;"; rep.Fields["TypePaper"].Text = tp; if (prnOrder.Discont != null) { rep.Fields["Discont"].Text = prnOrder.Discont.Discserv.ToString().Replace(",", "."); iitog = itog - ((itog * prnOrder.Discont.Discserv) / 100); } else { rep.Fields["Discont"].Text = "0"; iitog = itog; } switch (prop.ModelRound) { case 0: { break; } case 1: { if (((iitog - ((int)iitog)) <= (decimal)0.25) && ((iitog - ((int)iitog)) > 0)) iitog = ((int)iitog); else if (((iitog - ((int)iitog)) > (decimal)0.25) && ((iitog - ((int)iitog)) <= (decimal)0.75)) iitog = ((int)iitog) + (decimal)0.5; else if ((iitog - ((int)iitog)) > (decimal)0.75) iitog = ((int)iitog) + 1; break; } case 2: { if (((iitog - ((int)iitog)) <= (decimal)0.45) && ((iitog - ((int)iitog)) > 0)) iitog = ((int)iitog); else if (((iitog - ((int)iitog)) > (decimal)0.45) && ((iitog - ((int)iitog)) <= (decimal)0.95)) iitog = ((int)iitog) + (decimal)0.5; else if ((iitog - ((int)iitog)) > (decimal)0.95) iitog = ((int)iitog) + 1; break; } case 3: { if (((iitog - ((int)iitog)) <= (decimal)0.15) && ((iitog - ((int)iitog)) > 0)) iitog = (int)iitog; else if (((iitog - ((int)iitog)) > (decimal)0.15) && ((iitog - ((int)iitog)) <= (decimal)0.65)) iitog = ((int)iitog) + (decimal)0.5; else if ((iitog - ((int)iitog)) > (decimal)0.65) iitog = ((int)iitog) + 1; break; } case 4: { if (((iitog - ((int)iitog)) <= (decimal)0.49) && ((iitog - ((int)iitog)) > 0)) iitog = (int)iitog; else if ((iitog - ((int)iitog)) > (decimal)0.49) iitog = ((int)iitog) + 1; break; } case 5: { if (((iitog - ((int)iitog)) <= (decimal)0.5) && ((iitog - ((int)iitog)) > 0)) iitog = ((int)iitog) + (decimal)0.5; else if ((iitog - ((int)iitog)) > (decimal)0.5) iitog = ((int)iitog) + 1; break; } } rep.Fields["Itogo"].Text = iitog.ToString().Replace(",", "."); decimal p = prnOrder.FinalPayment + prnOrder.AdvancedPayment; rep.Fields["Payment"].Text = p.ToString().Replace(",", "."); rep.Fields["EndPayment"].Text = (iitog - p).ToString().Replace(",", "."); if (prop.CheckPreview) { PrintPreviewDialog pd = new PrintPreviewDialog(); pd.ClientSize = new Size(465, 680); pd.StartPosition = FormStartPosition.CenterScreen; pd.PrintPreviewControl.Zoom = 1.5; pd.Document = rep.Document; pd.ShowDialog(); } else { rep.Document.Print(); } } else { MessageBox.Show("Не выбран файл шаблонов отчетов", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); MessageBox.Show("Ошибка вывода чека\n" + ex.Message + "\n" + ex.Source + "\n" + ex.StackTrace, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public bool IsSame(OrderInfo order) { bool rezult = true; try { if (this.Distanation != order.Distanation) rezult = false; else if (this.Orderno != order.Orderno) rezult = false; else if (this.Timeout.ToString() != order.Timeout.ToString()) rezult = false; else if (this.OrderBody.Rows.Count != order.OrderBody.Rows.Count) rezult = false; else if (this.OrderBody.Columns.Count != order.OrderBody.Columns.Count) rezult = false; else if (this.FinalPayment != order.FinalPayment) rezult = false; else if (this.Bonus != order.Bonus) rezult = false; if(rezult) { for(int i = 0; (i < this.OrderBody.Columns.Count || !rezult); i++) { for (int j = 0; (j < this.OrderBody.Rows.Count || !rezult); j++) { if(this.OrderBody.Rows[j][i].ToString() != order.OrderBody.Rows[j][i].ToString()) rezult = false; } } } if(rezult) { if ((this.Discont != null) && (order.Discont != null)) { if (this.Discont.Bonus != order.Discont.Bonus) rezult = false; else if (this.Discont.Discserv != order.Discont.Discserv) rezult = false; else if (this.Discont.Name_dcard != order.Discont.Name_dcard) rezult = false; else if (this.Discont.Id_dcard != order.Discont.Id_dcard) rezult = false; } else if ((this.Discont != null) && (order.Discont == null)) rezult = false; else if ((this.Discont == null) && (order.Discont != null)) rezult = false; } } catch (Exception) { rezult = false; } return rezult; }
private void ReBild() { // Если заполняем из новой if (this.NewOrder) { // Если объект передан из визарда if (this.order != null) { //Номер lblOrderNo.Text = order.Orderno; // дата поступления заказа lblDateOrderInput.Text = order.Datein + " " + order.Timein; // дата выдачи заказа txtOrderDateOutput.Value = DateTime.Parse(order.Dateout); double seltime = DateTime.Parse(order.Dateout.ToString()).Hour; double t = prop.Time_begin_work; while (t <= double.Parse(prop.Time_end_work.ToString())) { if (t.ToString().LastIndexOf(",5") > 0) { txtOrderTimeOutput.Items.Add(t.ToString().Replace(",5", "") + ":30"); if (seltime == t) txtOrderTimeOutput.Text = t.ToString().Replace(",5", "") + ":30"; } else { txtOrderTimeOutput.Items.Add(t.ToString() + ":00"); if (seltime == t) txtOrderTimeOutput.Text = t.ToString() + ":00"; } t += 0.5; } txtOrderTimeOutput.Text = order.Timeout; // Клиент if (this.order.Client != null) { lblClientName.Text = order.Client.Name; } else { lblClientName.Text = ""; } //скидка if (order.Discont != null) lblOrderDiscont.Text = order.Discont.Discserv.ToString() + "%"; // предоплата lblOrderAdvancedPayment.Text = order.AdvancedPayment.ToString(); // обрезка switch (order.Crop) { case 1: { radioCrop1.Checked = true; radioCrop2.Checked = false; radioCrop3.Checked = false; break; } case 2: { radioCrop2.Checked = true; radioCrop1.Checked = false; radioCrop3.Checked = false; break; } case 3: { radioCrop3.Checked = true; radioCrop1.Checked = false; radioCrop2.Checked = false; break; } } //формат бумаги switch (order.Type) { case 1: { radioPapperType1.Checked = true; radioPapperType2.Checked = false; break; } case 2: { radioPapperType2.Checked = true; radioPapperType1.Checked = false; break; } } //загружаем таблицу if (order.OrderBody != null) { tblPrintOrder = order.OrderBody; gridFormats.Rows.Count = 1; for (int i = 0; i < tblPrintOrder.Rows.Count; i++) { object[] r = new object[9]; r[0] = tblPrintOrder.Rows[i][0]; r[1] = tblPrintOrder.Rows[i][1]; r[2] = tblPrintOrder.Rows[i][2]; r[3] = tblPrintOrder.Rows[i][3]; r[4] = tblPrintOrder.Rows[i][4]; gridFormats.AddItem("\t" + r[0] + "\t" + r[1] + "\t" + r[2] + "\t" + r[3] + "\t" + r[4]); } UpdateFormatTable(); } } else { order = new OrderInfo(db_connection); this.order.Orderno = num.NewOrderNum(db_connection, usr); //Номер lblOrderNo.Text = order.Orderno; // дата поступления заказа order.Datein = DateTime.Now.ToShortDateString(); order.Timein = DateTime.Now.ToShortTimeString(); lblDateOrderInput.Text = order.Datein + " " + order.Timein; // дата выдачи заказа txtOrderDateOutput.Value = DateTime.Now; if (DateTime.Now.AddHours(prop.Time_for_output).Hour > prop.Time_end_work) txtOrderDateOutput.Value = DateTime.Now.AddDays(1); else txtOrderDateOutput.Value = DateTime.Now.AddHours(prop.Time_for_output); double seltime = txtOrderDateOutput.Value.Hour; if ((txtOrderDateOutput.Value.Minute > 15) && (txtOrderDateOutput.Value.Minute < 30)) seltime += 0.5; if (txtOrderDateOutput.Value.Minute > 30) seltime += 1; if (seltime < prop.Time_begin_work) seltime = prop.Time_begin_work; if (seltime > prop.Time_end_work) seltime = prop.Time_begin_work; double t = prop.Time_begin_work; while (t <= double.Parse(prop.Time_end_work.ToString())) { if (t.ToString().Replace(".", ",").LastIndexOf(",5") > 0) { txtOrderTimeOutput.Items.Add(t.ToString().Replace(".", ",").Replace(",5", "") + ":30"); if (seltime == t) txtOrderTimeOutput.Text = t.ToString().Replace(".", ",").Replace(",5", "") + ":30"; } else { txtOrderTimeOutput.Items.Add(t.ToString() + ":00"); if (seltime == t) txtOrderTimeOutput.Text = t.ToString() + ":00"; } t += 0.5; } order.Timeout = txtOrderTimeOutput.Text; // Клиент if (this.order.Client != null) { lblClientName.Text = order.Client.Name; } else { lblClientName.Text = ""; } //скидка if (order.Discont != null) lblOrderDiscont.Text = order.Discont.Discserv.ToString() + "%"; // предоплата lblOrderAdvancedPayment.Text = order.AdvancedPayment.ToString(); // обрезка radioCrop1.Checked = false; radioCrop2.Checked = false; radioCrop3.Checked = false; //формат бумаги radioPapperType1.Checked = false; radioPapperType2.Checked = false; ReBildFormatTable(); } tmr.Start(); } }
public frmOrderCloseRO(SqlConnection db_connection, UserInfo usr, int id_order) { InitializeComponent(); __s.Add("000100", "В очереди на печать"); __s.Add("000200", "В очереди на обработку"); __s.Add("000110", "В процессе печати"); __s.Add("000000", "На выдаче"); __s.Add("000210", "В процессе обработки"); __s.Add("000010", "На предпросмотре"); __s.Add("100000", "Выдано"); __s.Add("010000", "Отменено"); __s.Add("000001", "В ожидании оплаты"); __s.Add("200000", "Выдано (не оплачено)"); __s.Add("300000", "Утерян"); __s.Add("000111", "Готов после печати"); __s.Add("000211", "Готов после обработки"); __s.Add("000212", "Готов после обработки, предпросмотр"); __s.Add("400000", "Списан"); this.db_connection = db_connection; this.usr = usr; order = new OrderInfo(db_connection, id_order); this.Text = "Работа с заказом"; LoadStatus(""); // номер lblOrderNo.Text = order.Orderno; // дата поступления заказа lblDateOrderInput.Text = order.Datein + " " + order.Timein; // дата выдачи заказа txtOrderDateOutput.Value = DateTime.Parse(order.Dateout); double t = prop.Time_begin_work; while (t <= double.Parse(prop.Time_end_work.ToString())) { if (t.ToString().LastIndexOf(",5") > 0) { txtOrderTimeOutput.Items.Add(t.ToString().Replace(",5", "") + ":30"); if (order.Timeout == t.ToString().Replace(",5", "") + ":30") txtOrderTimeOutput.Text = t.ToString().Replace(",5", "") + ":30"; } else { txtOrderTimeOutput.Items.Add(t.ToString() + ":00"); if (order.Timeout == t.ToString() + ":00") txtOrderTimeOutput.Text = t.ToString() + ":00"; } t += 0.5; } // клиент lblClientName.Text = order.Client.Name; switch (order.Crop) { case 1: { radioCrop1.Checked = true; radioCrop2.Checked = false; radioCrop3.Checked = false; break; } case 2: { radioCrop2.Checked = true; radioCrop1.Checked = false; radioCrop3.Checked = false; break; } case 3: { radioCrop3.Checked = true; radioCrop1.Checked = false; radioCrop2.Checked = false; break; } } //формат бумаги switch (order.Type) { case 1: { radioPapperType1.Checked = true; radioPapperType2.Checked = false; break; } case 2: { radioPapperType2.Checked = true; radioPapperType1.Checked = false; break; } } //скидка if (order.Discont != null) { lblOrderDiscont.Text = order.Discont.Discserv + "%"; if (order.Discont.Code_dcard.Trim() != "") { newdcard = false; } else { newdcard = true; } } // предоплата lblOrderAdvancedPayment.Text = order.AdvancedPayment.ToString(); //коментрарий txtComment.Text = order.Comment; if (order.Preview == 1) checkPreview.Checked = true; else checkPreview.Checked = false; tmr.Interval = prop.UpdateOrderTableInAcceptance*1000; tmr.Start(); }
private void btnPrintCheck_Click(object sender, EventArgs e) { // Печатаем чек OrderInfo prnOrder = new OrderInfo(db_connection, lblOrderNo.Text.Trim(), true); try { if (prop.PathReportsTemplates != "") { rep.Load(prop.PathReportsTemplates, "Check"); rep.DataSource.Recordset = prnOrder.OrderBody; decimal itog = 0; decimal iitog = 0; for (int i = 0; i < prnOrder.OrderBody.Rows.Count; i++) { itog += decimal.Parse(prnOrder.OrderBody.Rows[i]["price"].ToString())* (decimal.Parse(prnOrder.OrderBody.Rows[i]["quantity"].ToString()) - decimal.Parse(prnOrder.OrderBody.Rows[i]["defect_quantity"].ToString())); } rep.Fields["Total"].Text = itog.ToString().Replace(",", "."); rep.Fields["BarCode"].Text = prnOrder.Orderno.Trim(); rep.Fields["OrderNo"].Text = prnOrder.Orderno.Trim(); rep.Fields["DateOut"].Text = prnOrder.Dateout + " " + prnOrder.Timeout; rep.Fields["Client"].Text = prnOrder.Client.Name.Trim(); rep.Fields["AddonInfo"].Text = prop.ReklamBlock1; rep.Fields["Priemka"].Text = "Заказ принят: " + prnOrder.Datein + " " + prnOrder.Timein + "\nЗаказ принял: " + prnOrder.Name_accept; string tp = ""; switch(prnOrder.Crop) { case 1: { tp = "Обрезать под формат; "; break; } case 2: { tp = "Сохранить пропорции; "; break; } case 3: { tp = "Реальный размер; "; break; } } if (prnOrder.Type == 1) tp += "Глянцевая бумага;"; if (prnOrder.Type == 2) tp += "Матовая бумага;"; rep.Fields["TypePaper"].Text = tp; if (prnOrder.Discont != null) { rep.Fields["Discont"].Text = prnOrder.Discont.Discserv.ToString().Replace(",", "."); iitog = itog - ((itog*prnOrder.Discont.Discserv)/100); } else { rep.Fields["Discont"].Text = "0"; iitog = itog; } rep.Fields["Itogo"].Text = prop.DoRound(iitog).ToString().Replace(",", "."); decimal p = prnOrder.FinalPayment + prnOrder.AdvancedPayment; rep.Fields["Payment"].Text = p.ToString().Replace(",", "."); rep.Fields["EndPayment"].Text = (prop.DoRound(iitog) - p).ToString().Replace(",", "."); if (prop.CheckPreview) { PrintPreviewDialog pd = new PrintPreviewDialog(); pd.ClientSize = new Size(465, 680); pd.StartPosition = FormStartPosition.CenterScreen; pd.PrintPreviewControl.Zoom = 1.5; pd.Document = rep.Document; pd.ShowDialog(); } else { for (int j = 0; j < prop.CheckCount; j++) { rep.Document.Print(); } } } else { MessageBox.Show("Не выбран файл шаблонов отчетов", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); MessageBox.Show("Ошибка вывода чека\n" + ex.Message + "\n" + ex.Source + "\n" + ex.StackTrace, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void SaveOrder(bool UseAdvPayment) { tmr.Stop(); order.Dateout = txtOrderDateOutput.Value.ToShortDateString() + " " + txtOrderTimeOutput.Text; order.Timeout = txtOrderTimeOutput.Text; order.PType = int.Parse(txtPType.SelectedValue.ToString()); order.Konvert = ((checkKonvert.Checked) ? 1 : 0); try { if (((order.Distanation.Trim() == "100000") || (order.Distanation.Trim() == "200000")) && (int.Parse(txtPType.SelectedValue.ToString()) == -1)) { MessageBox.Show("Перед выдачей заказа необходимо указать тип оплаты!", "Закрытие заказа", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtPType.Focus(); } else { OrderInfo etalon_order2 = new OrderInfo(db_connection, etalon_order.Id); if (etalon_order.IsSame(etalon_order2)) { bool ok = true; int vozvrat = 0; if ((sum_vozvrat <= (-1)) && (order.Distanation.Trim() == "100000")) { ok = false; bool _tmp = false; while (!_tmp) { if (MessageBox.Show( "Внимание! Необходимо сделать возврат на сумму " + (decimal.Round(sum_vozvrat, 2) * (-1)).ToString() + "р.\nПровести возврат?", "Возврат", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { frmQueryStorno fstorno = new frmQueryStorno(); fstorno.Title = "Вариант возврата"; if (order.Discont != null) fstorno.infoBonus = order.Bonus; else fstorno.infoBonus = 0; fstorno.infoMoney = order.AdvancedPayment + order.FinalPayment; fstorno.infoSum = sum_vozvrat * (-1); fstorno.goods = false; for (int i = 1; i < order.OrderBody.Rows.Count; i++) { if (CanPayBonus(order.OrderBody.Rows[i][2].ToString().Trim())) { fstorno.goods = true; break; } } if (order.Discont != null) { if (((order.Discont.BonusType.ToUpper().Trim().IndexOf('G') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('H') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('I') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('J') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('K') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('L') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('M') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('N') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('O') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('P') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('Q') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('R') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('S') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('T') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('U') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('V') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('W') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('X') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('Y') > -1) || (order.Discont.BonusType.ToUpper().Trim().IndexOf('Z') > -1))) fstorno.discont = false; else fstorno.discont = true; } else { fstorno.discont = true; } fstorno.ShowDialog(); if (fstorno.DialogResult == DialogResult.OK) { vozvrat = fstorno.type; ok = true; _tmp = true; } else { _tmp = false; } } else { _tmp = true; } } } if (order.Discont != null) { if ((order.Bonus != 0) && (order.Discont.Id_dcard != 777777777)) { ok = false; try { string key = DateTime.Now.Year.ToString("D4") + DateTime.Now.Month.ToString("D2") + DateTime.Now.Day.ToString("D2") + DateTime.Now.Hour.ToString("D2") + DateTime.Now.Minute.ToString("D2") + DateTime.Now.Second.ToString("D2") + DateTime.Now.Millisecond.ToString("D2"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + prop.DiscontServerAddress + "/card.get.php?code=" + order.Discont.Code_dcard + "&key=" + key + "&format=csv"); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream resStream = response.GetResponseStream(); byte[] buf = new byte[255]; if (resStream.Read(buf, 0, 255) > 0) { ok = true; } else { ok = false; MessageBox.Show("Списание бонусов не возможно т.к. нет связи с сервером!", "Ошибка списания бонусов", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { ok = false; MessageBox.Show("Списание бонусов не возможно т.к. нет связи с сервером!", "Ошибка списания бонусов", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } if (ok) { if (!order.UpdateOrder(usr, AddedFinalPayment, UseAdvPayment, false)) { MessageBox.Show("При сохранении заказа произошла ошибка!\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { if ((order.Orderno.Substring(0, 1) == prop.Order_terminal_prefics.Substring(0, 1)) && ((order.Distanation.Trim() == "100000") || (order.Distanation.Trim() == "200000"))) { try { using (SqlConnection cn_tmp = new SqlConnection(prop.Connection_string)) { cn_tmp.Open(); SqlCommand cmd_tmp = new SqlCommand("INSERT INTO [dbo].[kiosk_orders_ok] ([number], [status], [exported]) VALUES ('" + order.Orderno + "', 2, 0)", cn_tmp); cmd_tmp.ExecuteNonQuery(); } } catch { } } if (order.Discont != null) { if ((order.Discont.Id_dcard != 777777777) & (order.Bonus != 0)) { try { string key = DateTime.Now.Year.ToString("D4") + DateTime.Now.Month.ToString("D2") + DateTime.Now.Day.ToString("D2") + DateTime.Now.Hour.ToString("D2") + DateTime.Now.Minute.ToString("D2") + DateTime.Now.Second.ToString("D2") + DateTime.Now.Millisecond.ToString("D2"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://" + prop.DiscontServerAddress + "/card.action.php?code=" + order.Discont.Code_dcard + "&key=" + key + "&order=" + order.Orderno.Trim() + "&dep=" + prop.Order_prefics + "&action=add&bonus=-" + order.Bonus.ToString().Replace(",", ".")); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream resStream = response.GetResponseStream(); byte[] buf = new byte[255]; if (resStream.Read(buf, 0, 255) > 0) { if (Encoding.ASCII.GetString(buf).ToLower().Trim('\0') == "OK. Confirm, please.".ToLower()) { AddEvent("Бонусы зарезервированы для списания"); request = (HttpWebRequest)WebRequest.Create("http://" + prop.DiscontServerAddress + "/card.action.php?code=" + order.Discont.Code_dcard + "&key=" + key + "&order=" + order.Orderno.Trim() + "&dep=" + prop.Order_prefics + "&action=confirm&bonus=-" + order.Bonus.ToString().Replace(",", ".")); response = (HttpWebResponse)request.GetResponse(); resStream = response.GetResponseStream(); buf = new byte[255]; resStream.Read(buf, 0, 255); if (Encoding.ASCII.GetString(buf).ToLower().Trim('\0') == "OK.".ToLower()) { AddEvent("Потверждено списание с карты " + order.Discont.Code_dcard + " " + order.Bonus.ToString()+ " бонусов"); } else { AddEvent("Не удалось списать бонусы, повторная попытка"); key = DateTime.Now.Year.ToString("D4") + DateTime.Now.Month.ToString("D2") + DateTime.Now.Day.ToString("D2") + DateTime.Now.Hour.ToString("D2") + DateTime.Now.Minute.ToString("D2") + DateTime.Now.Second.ToString("D2") + DateTime.Now.Millisecond.ToString("D2"); request = (HttpWebRequest)WebRequest.Create("http://" + prop.DiscontServerAddress + "/card.action.php?code=" + order.Discont.Code_dcard + "&key=" + key + "&order=" + order.Orderno.Trim() + "&dep=" + prop.Order_prefics + "&action=add&bonus=-" + order.Bonus.ToString().Replace(",", ".")); response = (HttpWebResponse)request.GetResponse(); resStream = response.GetResponseStream(); buf = new byte[255]; if (resStream.Read(buf, 0, 255) > 0) { if (Encoding.ASCII.GetString(buf).ToLower().Trim('\0') == "OK. Confirm, please.".ToLower()) { AddEvent("Бонусы зарезервированы для списания"); request = (HttpWebRequest)WebRequest.Create("http://" + prop.DiscontServerAddress + "/card.action.php?code=" + order.Discont.Code_dcard + "&key=" + key + "&order=" + order.Orderno.Trim() + "&dep=" + prop.Order_prefics + "&action=confirm&bonus=-" + order.Bonus.ToString().Replace(",", ".")); response = (HttpWebResponse)request.GetResponse(); resStream = response.GetResponseStream(); buf = new byte[255]; if (resStream.Read(buf, 0, 255) > 0) { if (Encoding.ASCII.GetString(buf).ToLower().Trim('\0') == "OK.".ToLower()) { AddEvent("Потверждено списание с карты " + order.Discont.Code_dcard + " " + order.Bonus.ToString() + " бонусов"); } else { AddEvent("Не удалось списать бонусы."); } } } else { switch (Encoding.ASCII.GetString(buf)) { case "Not enough bonuses.": { AddEvent("При списании бонусов сервер вернул - Not enough bonuses."); break; } case "Card not found.": { AddEvent("При списании бонусов сервер вернул - Card not found."); break; } case "Action not found.": { AddEvent("При списании бонусов сервер вернул - Action not found."); break; } default: { AddEvent("При списании бонусов сервер вернул - " + Encoding.ASCII.GetString(buf)); break; } } } } else { ok = false; MessageBox.Show("Списание бонусов не возможно т.к. нет связи с сервером!", "Ошибка списания бонусов", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { switch(Encoding.ASCII.GetString(buf)) { case "Not enough bonuses.": { AddEvent("При списании бонусов сервер вернул - Not enough bonuses."); break; } case "Card not found.": { AddEvent("При списании бонусов сервер вернул - Card not found."); break; } case "Action not found.": { AddEvent("При списании бонусов сервер вернул - Action not found."); break; } default: { AddEvent("При списании бонусов сервер вернул - " + Encoding.ASCII.GetString(buf)); break; } } } } else { ok = false; MessageBox.Show("Списание бонусов не возможно т.к. нет связи с сервером!", "Ошибка списания бонусов", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { ok = false; MessageBox.Show("Списание бонусов не возможно т.к. нет связи с сервером!", "Ошибка списания бонусов", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } AddEvent("Сохранены изменения в заказе (на приемке)"); if (AddedFinalPayment) AddEvent("Внесена оплата за заказ " + order.FinalPayment.ToString().Replace(",", ".")); if ((sum_vozvrat <= (-1)) && (order.Distanation.Trim() == "100000")) { // нет больше новых строчек for (int i = 1; i < order.OrderBody.Rows.Count; i++) { order.OrderBody.Rows[i][10] = true; } if (vozvrat == 1) { if ((order.Bonus + sum_vozvrat) < 0) { AddEvent("Сделан возврат бонусов на сумму " + decimal.Round(order.Bonus, 2).ToString().Replace(",", ".")); } else { AddEvent("Сделан возврат бонусов на сумму " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".")); } // списание с карты, потом наличные order.Bonus += sum_vozvrat; if (!order.UpdateOrder(usr, false, false, false)) { MessageBox.Show("При сохранении возврата бонусов прозошла ошибка!\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (order.Bonus < 0) { // бонусов не хватило для возврата; SqlCommand cmd_dc = new SqlCommand( "INSERT INTO [dbo].[payments] ([date], [time], [id_user], [name_user], [number], [payment], [type], [comment], [payment_way], [exported]) VALUES (getdate(), '" + DateTime.Now.ToShortTimeString() + "', " + usr.Id_user + ", '" + usr.Name.Trim() + "', '" + order.Orderno + "', " + decimal.Round(order.Bonus, 2).ToString().Replace(",", ".") + ", 1, 'Автоматический возврат средств', 1, 0); UPDATE [dbo].[order] SET [final_payment] = [final_payment] + " + decimal.Round(order.Bonus, 2).ToString().Replace(",", ".") + " WHERE [id_order] = " + order.Id.ToString(), db_connection); try { cmd_dc.CommandTimeout = 9000; cmd_dc.ExecuteNonQuery(); AddEvent("Сделан возврат на сумму " + decimal.Round(order.Bonus, 2).ToString().Replace(",", ".")); order.FinalPayment += order.Bonus; order.Bonus = 0; if (!order.UpdateOrder(usr, false, false, false)) { MessageBox.Show("При закрытии возвратов произошла ошибка!\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { } } catch { MessageBox.Show( "Ошибка при сохрании возврата, необходимо вручную провести сумму " + decimal.Round(order.Bonus, 2).ToString(), "Ошибка сохранения возврата", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } if (vozvrat == 2) { if (((order.AdvancedPayment + order.FinalPayment) + sum_vozvrat) < 0) { SqlCommand cmd_dc = new SqlCommand( "INSERT INTO [dbo].[payments] ([date], [time], [id_user], [name_user], [number], [payment], [type], [comment], [payment_way], [exported]) VALUES (getdate(), '" + DateTime.Now.ToShortTimeString() + "', " + usr.Id_user + ", '" + usr.Name.Trim() + "', '" + order.Orderno + "', " + decimal.Round((order.AdvancedPayment + order.FinalPayment) * (-1), 2).ToString().Replace(",", ".") + ", 1, 'Автоматический возврат средств', 1, 0); UPDATE [dbo].[order] SET [final_payment] = [final_payment] + " + decimal.Round((order.AdvancedPayment + order.FinalPayment) * (-1), 2).ToString().Replace(",", ".") + " WHERE [id_order] = " + order.Id.ToString(), db_connection); try { cmd_dc.CommandTimeout = 9000; cmd_dc.ExecuteNonQuery(); AddEvent("Сделан возврат на сумму " + decimal.Round((order.AdvancedPayment + order.FinalPayment) * (-1), 2).ToString().Replace(",", ".")); sum_vozvrat += (order.AdvancedPayment + order.FinalPayment); order.FinalPayment -= (order.AdvancedPayment + order.FinalPayment); if (!order.UpdateOrder(usr, false, false, false)) { MessageBox.Show("При закрытии возвратов произошла ошибка!\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { MessageBox.Show( "Ошибка при сохрании возврата, необходимо вручную провести сумму " + decimal.Round((order.AdvancedPayment + order.FinalPayment) * (-1), 2).ToString(), "Ошибка сохранения возврата", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { SqlCommand cmd_dc = new SqlCommand( "INSERT INTO [dbo].[payments] ([date], [time], [id_user], [name_user], [number], [payment], [type], [comment], [payment_way], [exported]) VALUES (getdate(), '" + DateTime.Now.ToShortTimeString() + "', " + usr.Id_user + ", '" + usr.Name.Trim() + "', '" + order.Orderno + "', " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".") + ", 1, 'Автоматический возврат средств', 1, 0); UPDATE [dbo].[order] SET [final_payment] = [final_payment] + " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".") + " WHERE [id_order] = " + order.Id.ToString(), db_connection); try { cmd_dc.CommandTimeout = 9000; cmd_dc.ExecuteNonQuery(); AddEvent("Сделан возврат на сумму " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".")); order.FinalPayment += sum_vozvrat; sum_vozvrat = 0; if (!order.UpdateOrder(usr, false, false, false)) { MessageBox.Show("При закрытии возвратов произошла ошибка!\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { MessageBox.Show( "Ошибка при сохрании возврата, необходимо вручную провести сумму " + decimal.Round(sum_vozvrat, 2).ToString(), "Ошибка сохранения возврата", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (sum_vozvrat < 0) { // бонусов не хватило для возврата; AddEvent("Сделан возврат бонусов на сумму " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".")); order.Bonus += sum_vozvrat; if (!order.UpdateOrder(usr, false, false, false)) { MessageBox.Show("При сохранении возврата бонусов прозошла ошибка!\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } /* cmd_dc = new SqlCommand( "INSERT INTO [dbo].[payments] ([date], [time], [id_user], [name_user], [number], [payment], [type], [comment], [payment_way], [exported]) VALUES (getdate(), '" + DateTime.Now.ToShortTimeString() + "', " + usr.Id_user + ", '" + usr.Name.Trim() + "', '" + order.Orderno + "', " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".") + ", 1, 'Автоматический возврат средств', 1, 0); UPDATE [dbo].[order] SET [final_payment] = [final_payment] + " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".") + " WHERE [id_order] = " + order.Id.ToString(), db_connection); try { cmd_dc.ExecuteNonQuery(); AddEvent("Сделан возврат на сумму " + decimal.Round(sum_vozvrat, 2).ToString().Replace(",", ".")); } catch { MessageBox.Show( "Ошибка при сохрании возврата, необходимо вручную провести сумму " + (decimal.Round(sum_vozvrat, 2)).ToString(), "Ошибка сохранения возврата", MessageBoxButtons.OK, MessageBoxIcon.Error); } */ } // списание бонусов if ((order.Discont.BonusType.Trim() != "Z") && (newdcard)) { SqlCommand cmd_dc = new SqlCommand( "UPDATE [dbo].[dcard] SET [bonus] = " + (order.Discont.Bonus - order.Bonus).ToString().Replace(",", ".") + " WHERE [code] = '" + order.Discont.Code_dcard.Trim() + "'", db_connection); try { cmd_dc.ExecuteNonQuery(); AddEvent("Списано " + order.Bonus + " бонусов"); } catch { } cmd_dc = new SqlCommand( "DECLARE @C int; SET @C = (SELECT COUNT(*) FROM [dbo].[dcarduse] WHERE [code] = '" + order.Discont.Code_dcard.Trim() + "'); IF(@C = 0) BEGIN INSERT INTO [dbo].[dcarduse]([code],[cnt]) VALUES ('" + order.Discont.Code_dcard.Trim() + "',1); END ELSE BEGIN DECLARE @CC int; SET @CC = (SELECT COUNT(*) FROM [dbo].[dcarduse] WHERE [code] = '" + order.Discont.Code_dcard.Trim() + "' AND ((lastdate >= CONVERT(DATETIME, '" + DateTime.Now.Year.ToString("D4") + "-" + DateTime.Now.Month.ToString("D2") + "-" + DateTime.Now.Day.ToString("D2") + " 00:00:00', 102)) AND (lastdate <= CONVERT(DATETIME, '" + DateTime.Now.Year.ToString("D4") + "-" + DateTime.Now.Month.ToString("D2") + "-" + DateTime.Now.Day.ToString("D2") + " 23:59:00', 102)))); IF(@CC = 0) BEGIN UPDATE [dbo].[dcarduse] SET [lastdate] = getdate(),[cnt] = 1 WHERE [code] = '" + order.Discont.Code_dcard.Trim() + "'; END ELSE BEGIN UPDATE [dbo].[dcarduse] SET [lastdate] = getdate(),[cnt] = [cnt] + 1 WHERE [code] = '" + order.Discont.Code_dcard.Trim() + "'; END END", db_connection); try { cmd_dc.ExecuteNonQuery(); } catch { } } this.Close(); } } } else { MessageBox.Show("Заказ не может быть сохранен!\nВероятно он уже был кем то изменен.\n" + order.Err, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } } } catch (Exception ex) { ErrorNfo.WriteErrorInfo(ex); MessageBox.Show("При сохранении заказа произошла ошибка!\n" + ex.Message + "\n" + ex.Source, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); } }
private void initOrder(int id_order) { this.order = new OrderInfo(db_connection, id_order); etalon_order = new OrderInfo(db_connection, order.Id); this.Text = "Работа с заказом"; try { if (order.AutoExport != 0) { SqlCommand db_command = new SqlCommand("SELECT [name] FROM [place] WHERE [id_place] = " + order.Place.ToString(), db_connection); if (order.AutoExport == -1) { lblAdvStatus.Text = "Заказ отправлен в " + db_command.ExecuteScalar().ToString().Trim(); lblAdvStatus.ForeColor = Color.Red; } if (order.AutoExport > 0) { lblAdvStatus.Text = "Заказ отправляется в " + db_command.ExecuteScalar().ToString().Trim(); lblAdvStatus.ForeColor = Color.Blue; } } } catch { } // номер lblOrderNo.Text = order.Orderno; // дата поступления заказа lblDateOrderInput.Text = order.Datein + " " + order.Timein; // дата выдачи заказа txtOrderDateOutput.Value = DateTime.Parse(order.Dateout); double t = prop.Time_begin_work; txtOrderTimeOutput.Items.Clear(); while (t <= double.Parse(prop.Time_end_work.ToString())) { if (t.ToString().LastIndexOf(",5") > 0) { txtOrderTimeOutput.Items.Add(t.ToString().Replace(",5", "") + ":30"); if (order.Timeout == t.ToString().Replace(",5", "") + ":30") txtOrderTimeOutput.Text = t.ToString().Replace(",5", "") + ":30"; } else { txtOrderTimeOutput.Items.Add(t.ToString() + ":00"); if (order.Timeout == t.ToString() + ":00") txtOrderTimeOutput.Text = t.ToString() + ":00"; } t += 0.5; } // клиент if (order.Client != null) lblClientName.Text = order.Client.Name; else lblClientName.Text = "Клиент не определен"; switch (order.Crop) { case 1: { radioCrop1.Checked = true; radioCrop2.Checked = false; radioCrop3.Checked = false; break; } case 2: { radioCrop2.Checked = true; radioCrop1.Checked = false; radioCrop3.Checked = false; break; } case 3: { radioCrop3.Checked = true; radioCrop1.Checked = false; radioCrop2.Checked = false; break; } } //формат бумаги switch (order.Type) { case 1: { radioPapperType1.Checked = true; radioPapperType2.Checked = false; break; } case 2: { radioPapperType2.Checked = true; radioPapperType1.Checked = false; break; } } //скидка if (order.Discont != null) { lblOrderDiscont.Text = order.Discont.Discserv + "%"; if (order.Discont.Code_dcard.Trim() != "") { btnDescont.Enabled = false; btnDescont.Visible = false; btnDescontClear.Enabled = false; btnDescontClear.Visible = false; btnBonusAdd.Enabled = false; btnBonusAdd.Visible = false; btnBonusDel.Enabled = false; btnBonusDel.Visible = false; newdcard = false; } else { newdcard = true; } } // предоплата lblOrderAdvancedPayment.Text = order.AdvancedPayment.ToString(); //коментрарий txtComment.Text = order.Comment; if (order.Preview == 1) checkPreview.Checked = true; else checkPreview.Checked = false; if (order.FinalPayment == 0) paymentonload = false; else paymentonload = true; if (fixDouble) { btnDescont.Enabled = false; btnDescontClear.Enabled = false; btnBonusAdd.Enabled = false; btnBonusDel.Enabled = false; btnFinalPayment.Enabled = false; btnFinalPaymentClear.Enabled = false; } SqlCommand _ptype_cmd = new SqlCommand(); _ptype_cmd.Connection = db_connection; _ptype_cmd.CommandText = "SELECT * FROM PTYPE WHERE ([DEL] = 0) OR (ID_PTYPE = " + order.PType + ") ORDER BY ID_PTYPE"; _ptype_cmd.CommandTimeout = 9000; SqlDataAdapter _ptype_da = new SqlDataAdapter(_ptype_cmd); DataTable _ptype_tbl = new DataTable(); _ptype_da.Fill(_ptype_tbl); DataRow _ptype_r = _ptype_tbl.NewRow(); _ptype_r["id_ptype"] = -1; _ptype_r["name_ptype"] = "Не выбрано!"; _ptype_tbl.Rows.InsertAt(_ptype_r, 0); txtPType.DataSource = _ptype_tbl; txtPType.DisplayMember = "name_ptype"; txtPType.ValueMember = "id_ptype"; txtPType.SelectedValue = -1; txtPType.SelectedValue = order.PType; if (order.Konvert == 1) checkKonvert.Checked = true; else checkKonvert.Checked = false; tmr.Stop(); tmr.Interval = prop.UpdateOrderTableInAcceptance * 1000; tmr.Start(); }
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("Заказ отменен!"); } }
private void PrintCheck(string order) { OrderInfo Order = new OrderInfo(db_connection, order, true); frmOrderClose frm = new frmOrderClose(db_connection, usr, Order.Id); frm.tmr.Stop(); frm.PrintCheck(); }