//签字免单 private void freeTool_Click(object sender, EventArgs e) { SignForFreeForm inputSerForm = new SignForFreeForm(); if (inputSerForm.ShowDialog() != DialogResult.OK) { return; } var dc_new = new BathDBDataContext(LogIn.connectionString); Account account = new Account(); insert_account(dc_new, ref account, inputSerForm.signature); set_order_paid(dc_new, account); update_seat_room(dc_new); dc_new.SubmitChanges(); setStatus(dc_new); if (printBill) { printTool_Click(dc_new, "结账单"); } if (printStubBill) { printTool_Click(dc_new, "存根单"); } if (printShoe) { List <string> seat_texts = new List <string>(); var ts = account.text.Split('|').ToList(); foreach (var tx in ts) { var s = m_Seats.FirstOrDefault(x => x.text == tx); if (s == null) { continue; } int i = m_Seats.IndexOf(s); if (dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False") { seat_texts.Add(tx); } } PrintShoeMsg.Print_DataGridView(seat_texts, account.payEmployee, account.payTime.ToString(), companyName); } this.DialogResult = DialogResult.OK; }
//宾客付款 private void payTool_Click(object sender, EventArgs e) { BathDBDataContext dc = new BathDBDataContext(LogIn.connectionString); var seats = new List <HotelRoom>(); seats = m_Seats; List <bool> keeps = new List <bool>(); foreach (DataGridViewRow r in dgvChain.Rows) { keeps.Add(r.Cells[1].EditedFormattedValue.ToString() == "True"); } PayForm payForm = new PayForm(seats, keeps, m_Member, discount_money); if (payForm.ShowDialog() != DialogResult.OK) { return; } var ids = string.Join("|", m_Seats.OrderBy(x => x.text).Select(x => x.systemId).ToArray()); var act_old = dc.Account.FirstOrDefault(x => x.systemId == ids && x.abandon != null); var act = dc.Account.FirstOrDefault(x => x.systemId == ids && x.abandon == null); if (act_old == null) { if (printBill) { printTool_Click(dc, "结账单"); } if (printStubBill) { printTool_Click(dc, "存根单"); } if (printShoe) { List <string> seat_texts = new List <string>(); var ts = act.text.Split('|').ToList(); foreach (var tx in ts) { var s = m_Seats.FirstOrDefault(x => x.text == tx); if (s == null) { continue; } int i = m_Seats.IndexOf(s); if (dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False") { seat_texts.Add(tx); } } PrintShoeMsg.Print_DataGridView(seat_texts, act.payEmployee, act.payTime.ToString(), companyName); } } else { printTool_Click(dc, "补救单"); } sendMessageToShoes(act); //处理留牌 bool kept = false; for (int i = 0; i < m_Seats.Count; i++) { if (dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False") { continue; } kept = true; var s = m_Seats[i]; var seat = dc.HotelRoom.FirstOrDefault(x => x.systemId == s.systemId); var orders = dc.Orders.Where(x => x.systemId == seat.systemId && x.priceType == "每小时"); foreach (var order in orders) { order.inputTime = GeneralClass.Now; order.paid = false; order.accountId = null; } seat.status = 2; } if (kept) { dc.SubmitChanges(); } //if (seats == m_Seats) this.DialogResult = DialogResult.OK; //else //{ // m_Seats.Remove(m_Seat); // dgvChain_show(); // dgvChain.CurrentCell = null; // chain = true; // dgvExpense_show(); // setStatus(); //} }