private void OpenSeatForm_Load(object sender, EventArgs e) { dgv_show(); var ops = db.Options.FirstOrDefault(); seatlock = ops.启用手牌锁.Value; lock_type = ops.手牌锁类型; seatBox.Enabled = BathClass.ToBool(ops.允许手工输入手牌号开牌); }
//加收过夜费 private void order_guoye(HotelRoom seat, BathDBDataContext dc) { if (!BathClass.ToBool(m_Options.自动加收过夜费)) { return; } if (dc.Orders.FirstOrDefault(x => x.systemId == seat.systemId && x.menu == "过夜费") != null || dc.HisOrders.FirstOrDefault(x => x.systemId == seat.systemId && x.menu == "过夜费") != null) { return; } var m_OverMenu = dc.Menu.FirstOrDefault(x => x.name == "过夜费"); if (m_OverMenu == null) { return; } DateTime now = DateTime.Now; string year = now.Year.ToString(); string month = now.Month.ToString(); string day = now.Day.ToString(); string date = year + "-" + month + "-" + day + " "; string time = ":00:00"; DateTime st = DateTime.Parse(date + m_Options.过夜费起点 + time); DateTime et = DateTime.Parse(date + m_Options.过夜费终点 + time); DateTime open_time = seat.openTime.Value; if ((now >= et && open_time >= et) || (open_time <= st && now <= st)) { return; } Orders order = new Orders(); order.menu = m_OverMenu.name; order.text = seat.text; order.systemId = seat.systemId; order.number = 1; order.money = m_OverMenu.price; order.inputTime = now; order.inputEmployee = "过夜费"; order.departmentId = 1; order.paid = false; dc.Orders.InsertOnSubmit(order); dc.SubmitChanges(); find_combo(dc, order); }
//点击台位按钮 private void btn_Click(object sender, EventArgs e) { Button btn = sender as Button; btn.Enabled = false; btn.Enabled = true; BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString); var manuInput = BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号结账); m_Seat = db_new.HotelRoom.FirstOrDefault(x => x.text == btn.Text); var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == m_Seat.typeId); if (!manuInput && mtype.menuId != null) { BathClass.printErrorMsg("不允许手工输入手牌号结账!"); return; } switch (m_Seat.status) { case 1: //可用 case 3: //已经结账 break; case 2: //正在使用 case 6: //警告 case 7: //押金离场 case 8: //重新结账 if (m_Seat.note != null && m_Seat.note != "") { BathClass.printInformation(m_Seat.note); } SeatExpenseForm seatExpenseForm = new SeatExpenseForm(m_Seat); seatExpenseForm.ShowDialog(); break; case 4: //锁定 break; case 5: //停用 BathClass.printErrorMsg("台位已经停用!"); break; default: break; } }
private void SeatExpenseForm_FormClosing(object sender, FormClosingEventArgs e) { var dc = new BathDBDataContext(LogIn.connectionString); var lockSeat = BathClass.ToBool(dc.Options.FirstOrDefault().结账未打单锁定手牌); for (int i = 0; i < m_Seats.Count; i++) { var s_new = dc.HotelRoom.FirstOrDefault(x => x.text == m_Seats[i].text); s_new.paying = false; if (lockSeat && s_new.status != 3 && s_new.status != 8 && dgvChain.Rows[i].Cells[1].EditedFormattedValue.ToString() == "False") { s_new.status = 4; } } dc.SubmitChanges(); }
//对话框载入 private void PayForm_Load(object sender, EventArgs e) { BathClass.change_input_en(); watch = BathClass.ToBool(db.Options.FirstOrDefault().启用结账监控); m_money = BathClass.get_rooms_expenses(db, m_Seats, LogIn.connectionString); moneyPayable.Text = m_money.ToString(); changes.Text = (-m_money).ToString(); for (int i = 0; i < m_Seats.Count; i++) { if (m_keeps[i]) { continue; } m_Seats_Real.Add(m_Seats[i]); } //money_real = BathClass.get_seats_expenses(m_Seats_Real, LogIn.connectionString); }
//对话框载入 private void ReceptionSeatForm_Load(object sender, EventArgs e) { var db = new BathDBDataContext(LogIn.connectionString); var ops = db.Options.FirstOrDefault(); seatLock = BathClass.ToBool(ops.启用手牌锁); lock_type = ops.手牌锁类型; tSeat.Visible = !seatLock; this.Text = "咱家店小二-前台系统V2.1 欢迎使用:" + LogIn.m_User.id; currentUser.Text = "当前用户: " + LogIn.m_User.id + " " + LogIn.m_User.name; createSeat(db, seatPanel); setStatus(); all_seats = db.HotelRoom.Select(x => x.status).ToList(); all_seats_id = db.HotelRoom.Select(x => x.id).ToList(); m_thread = new Thread(new ThreadStart(update_seats_ui)); m_thread.Start(); //MessageBox.Show("fcuk"); }
//对话框载入 private void SeatExpenseForm_Load(object sender, EventArgs e) { dgvExpense.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 20); dgvExpense.RowsDefaultCellStyle.Font = new Font("宋体", 20); dgvChain.ColumnHeadersDefaultCellStyle.Font = new Font("宋体", 17); dgvChain.RowsDefaultCellStyle.Font = new Font("宋体", 17); var db = new BathDBDataContext(LogIn.connectionString); m_Options = db.Options.FirstOrDefault(); printBill = BathClass.ToBool(m_Options.结账打印结账单); printShoe = BathClass.ToBool(m_Options.结账打印取鞋小票); printStubBill = BathClass.ToBool(m_Options.结账打印存根单); inputBillId = BathClass.ToBool(m_Options.录单输入单据编号); companyName = m_Options.companyName; //manul_pay = BathClass.ToBool(ops.允许手工输入手牌号结账); use_oyd = BathClass.ToBool(m_Options.启用手牌锁); if (use_oyd) { dgvChain.ReadOnly = true; btnReload.Text = "留牌"; //btnChain.Visible = false; //seatText.ReadOnly = true; //btnReload.Visible = false; } dgvExpense.Columns[1].Visible = inputBillId; m_Seat = m_Seats[0]; dgvChain_show(); dgvChain.CurrentCell = dgvChain[0, 0]; //chain = true; order_guoye(m_Seat, db); dgvExpense_show(db); setStatus(db); }
//客房 private void btnRoom_Click(object sender, EventArgs e) { BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString); if (!BathClass.getAuthority(db_new, LogIn.m_User, "包房管理")) { BathClass.printErrorMsg("权限不够!"); return; } if (BathClass.ToBool(db_new.Options.FirstOrDefault().启用客房面板)) { RoomViewForm rvForm = new RoomViewForm(); rvForm.ShowDialog(); } else { var form = new CabViewForm(); form.ShowDialog(); } RoomViewForm rmvForm = new RoomViewForm(); rmvForm.ShowDialog(); }
private void send_sms(string cardno) { try { //var dc = new BathDBDataContext(LogIn.connectionString); var ci = db.CardInfo.FirstOrDefault(x => x.CI_CardNo == cardno); if (ci.CI_Telephone == null || ci.CI_Telephone.Length != 11) { return; } var mt = db.MemberType.FirstOrDefault(x => x.id == ci.CI_CardTypeNo); if (!BathClass.ToBool(mt.smsAfterUsing)) { return; } string msg = "尊敬的贵宾,您好!"; msg += "您的" + mt.name + ",卡号:" + ci.CI_CardNo + ","; var cc = db.CardCharge.Where(y => y.CC_CardNo == ci.CI_CardNo); var debit = cc.Sum(y => y.CC_DebitSum); var lend = cc.Sum(y => y.CC_LenderSum); var cu = db.MemberSetting.FirstOrDefault().money; var balance_money = Convert.ToDouble(debit - lend); msg += "余额为:" + balance_money.ToString(); if (mt.credits) { var cexpense = db.CardCharge.Where(y => y.CC_CardNo == ci.CI_CardNo); var cvs = cexpense.Sum(y => y.expense); if (cvs.HasValue) { double cds = cvs.Value; if (ci.CI_CreditsUsed == null) { msg += "积分为:" + (cds / cu).ToString(); } else { msg += "积分为:" + (cds / cu - ci.CI_CreditsUsed).ToString(); } } } String TypeStr = ""; String CopyRightToCOM = ""; String CopyRightStr = "//上海迅赛信息技术有限公司,网址www.xunsai.com//"; string smsPort = BathClass.get_config_by_key("smsPort"); string smsBaud = BathClass.get_config_by_key("smsBaud"); if (smsPort == "" || smsBaud == "") { SMmsForm smsForm = new SMmsForm(); if (smsForm.ShowDialog() != DialogResult.OK) { return; } smsPort = BathClass.get_config_by_key("smsPort"); smsBaud = BathClass.get_config_by_key("smsBaud"); } if (smsPort == "" || smsBaud == "") { return; } //SmsClass.Sms_Disconnection(); if (SmsClass.Sms_Connection(CopyRightStr, uint.Parse(smsPort[3].ToString()), uint.Parse(smsBaud), out TypeStr, out CopyRightToCOM) != 1) { return; } SmsClass.Sms_Send(ci.CI_Telephone, msg); SmsClass.Sms_Disconnection(); } catch {} }
//F6开牌 private void tool_open_seat() { if (tSeat.Text == "") { return; } BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString); string text = tSeat.Text; tSeat.Text = ""; var seat1 = db_new.HotelRoom.FirstOrDefault(x => x.text == text); var seat2 = db_new.HotelRoom.FirstOrDefault(x => x.oId == text); if (seat1 == null && seat2 == null) { BathClass.printErrorMsg("手牌不可用!"); return; } if (seat1 != null) { var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat1.typeId); switch (seat1.status) { case 1: //可用 case 3: //已经结账 if (!BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号开牌) && mtype.menuId != null) { BathClass.printErrorMsg("不允许手工输入手牌号开牌!"); break; } open_seat(seat1, db_new); break; case 2: //正在使用 case 7: //押金离场 if (!BathClass.getAuthority(db_new, LogIn.m_User, "完整点单") && !BathClass.getAuthority(db_new, LogIn.m_User, "可见本人点单")) { BathClass.printErrorMsg("权限不够"); break; } seat1.ordering = true; db_new.SubmitChanges(); var orderForm = new HotelRoomOrderForm(m_Seat); orderForm.ShowDialog(); seat1.ordering = false; db_new.SubmitChanges(); break; case 4: //锁定 BathClass.printErrorMsg("台位已经锁定!"); break; case 5: //停用 BathClass.printErrorMsg("台位已经停用!"); break; case 6: //警告 var orderCheckForm = new HotelRoomOrderCheckForm(m_Seat); orderCheckForm.ShowDialog(); break; case 8: BathClass.printErrorMsg("补救台位不能录单"); break; default: break; } } else if (seat2 != null) { var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat2.typeId); switch (seat2.status) { case 1: //可用 case 3: //已经结账 open_seat(seat2, db_new); break; case 2: //正在使用 case 7: //押金离场 if (!BathClass.getAuthority(db_new, LogIn.m_User, "完整点单") && !BathClass.getAuthority(db_new, LogIn.m_User, "可见本人点单")) { BathClass.printErrorMsg("权限不够"); break; } seat2.ordering = true; db_new.SubmitChanges(); var orderForm = new HotelRoomOrderForm(m_Seat); orderForm.ShowDialog(); seat2.ordering = false; db_new.SubmitChanges(); break; case 4: //锁定 BathClass.printErrorMsg("台位已经锁定!"); break; case 5: //停用 BathClass.printErrorMsg("台位已经停用!"); break; case 6: //警告 var orderCheckForm = new HotelRoomOrderCheckForm(m_Seat); orderCheckForm.ShowDialog(); break; case 8: BathClass.printErrorMsg("补救台位不能录单"); break; default: break; } } }
//点击台位按钮 private void btn_Click(object sender, EventArgs e) { Button btn = sender as Button; btn.Enabled = false; btn.Enabled = true; BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString); m_Seat = db_new.HotelRoom.FirstOrDefault(x => x.text == btn.Text); var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == m_Seat.typeId); switch (m_Seat.status) { case 1: //可用 case 3: //已经结账 if (!BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号开牌) && mtype.menuId != null) { BathClass.printErrorMsg("不允许手工输入手牌号开牌!"); break; } open_seat(m_Seat, db_new); break; case 2: //正在使用 case 7: //押金离场 if (!BathClass.getAuthority(db_new, LogIn.m_User, "完整点单") && !BathClass.getAuthority(db_new, LogIn.m_User, "可见本人点单")) { BathClass.printErrorMsg("权限不够"); break; } m_Seat.ordering = true; db_new.SubmitChanges(); var orderForm = new HotelRoomOrderForm(m_Seat); orderForm.ShowDialog(); m_Seat.ordering = false; db_new.SubmitChanges(); break; case 4: //锁定 break; case 5: //停用 BathClass.printErrorMsg("台位已经停用!"); break; case 6: //警告 var orderCheckForm = new HotelRoomOrderCheckForm(m_Seat); orderCheckForm.ShowDialog(); break; case 8: //重新结账 BathClass.printErrorMsg("补救台位不能录单"); break; default: break; } }
//F6开牌 private void tool_open_seat() { if (tSeat.Text == "") { return; } string text = tSeat.Text; tSeat.Text = ""; BathDBDataContext db_new = new BathDBDataContext(LogIn.connectionString); var manuInput = BathClass.ToBool(db_new.Options.FirstOrDefault().允许手工输入手牌号结账); var seat1 = db_new.HotelRoom.FirstOrDefault(x => x.text == text); var seat2 = db_new.HotelRoom.FirstOrDefault(x => x.oId == text); if (seat1 == null && seat2 == null) { BathClass.printErrorMsg("手牌不可用!"); return; } if (seat1 != null) { var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat1.typeId); if (!manuInput && mtype.menuId != null) { BathClass.printErrorMsg("不允许手工输入手牌号结账!"); return; } int status = seat1.status; if (status == 2 || status == 6 || status == 7 || status == 8) { if (seat1.note != null && seat1.note != "") { BathClass.printInformation(seat1.note); } SeatExpenseForm seatExpenseForm = new SeatExpenseForm(seat1); seatExpenseForm.ShowDialog(); } else if (status == 4) { BathClass.printErrorMsg("台位已经锁定!"); } else if (status == 5) { BathClass.printErrorMsg("台位已经停用!"); } } else if (seat2 != null) { var mtype = db_new.HotelRoomType.FirstOrDefault(x => x.id == seat2.typeId); if (!manuInput && mtype.menuId != null) { BathClass.printErrorMsg("不允许手工输入手牌号结账!"); return; } int status = seat2.status; if (status == 2 || status == 6 || status == 7 || status == 8) { if (seat2.note != null && seat2.note != "") { BathClass.printInformation(seat2.note); } SeatExpenseForm seatExpenseForm = new SeatExpenseForm(seat2); seatExpenseForm.ShowDialog(); } else if (status == 4) { BathClass.printErrorMsg("台位已经锁定!"); } else if (status == 5) { BathClass.printErrorMsg("台位已经停用!"); } } }