/// <summary> /// 保存 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Save_Click(object sender, RoutedEventArgs e) { if (TbOddNumbers.Text == "" || TbOddNumbers.Text == null && TbDevelopmentTime.Text == "" || TbDevelopmentTime.Text == null && TbPopulation.Text == "" || TbPopulation.Text == null && TbDiscount.Text == "" || TbDiscount.Text == null && TbRemark.Text == "" || TbRemark.Text == null) { MessageBox.Show("你大爷的,漏数据了", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); return; } vip_id = m.VIP_Table.Where(p => p.Accounts == zhanghao).SingleOrDefault().ID_VIP; //客人id int krid = m.VIP_Table.Where(p => p.ID_VIP == vip_id).SingleOrDefault().ID_Guest; //账单表 // string Mun = STATIC_cache.ScBill_id; //CW_Bill_id int YYid = 0; try { YYid = m.CW_Bill.Where(p => p.SuOp_ID == (m.YW_Subscribe.Where(S => S.ID_VIP == m.VIP_Table.Where(V => V.Accounts == zhanghao).FirstOrDefault().ID_VIP).FirstOrDefault().ID_Subscribe)).FirstOrDefault().SuOp_ID; } catch (Exception) { } if (YYid > 0) { CW_Bill cB = m.CW_Bill.Where(p => p.SuOp_ID == YYid).Single(); cB.Time_PayBill = null; cB.Remark = "该怎么形容你最贴切"; cB.Price = 0; cB.State_Bill = "正在消费"; m.Entry(cB).State = System.Data.Entity.EntityState.Modified; m.SaveChanges(); } else { CW_Bill cW_Bill = new CW_Bill(); cW_Bill.Time_PayBill = null; cW_Bill.Remark = "该怎么形容你最贴切"; cW_Bill.Price = 0; cW_Bill.State_Bill = "正在消费"; m.CW_Bill.Add(cW_Bill); m.SaveChanges(); } int cbid = m.CW_Bill.Where(p => p.SuOp_ID == YYid).Single().ID_Bill; //支付记录表录入 CW_PayRecord cP = new CW_PayRecord(); cP.ID_Guest = krid; cP.Price_Pay = 0; cP.Time_Pay = null; cP.PoP = ""; cP.State = false; cP.ID_Bill = cbid; m.CW_PayRecord.Add(cP); m.SaveChanges(); /**********/ //根据会员 id 找到客人id int Guest_id = m.SYS_Guest.Where(p => p.ID_Guest == (m.VIP_Table.Where(v => v.ID_VIP == vip_id).FirstOrDefault().ID_Guest)).SingleOrDefault().ID_Guest; try { int os = m.YW_OpenStage.Where(m => m.ID_VIP == vip_id && m.State_Message == true).SingleOrDefault().ID_OpenStage; } catch (Exception) { YW_OpenStage oS = new YW_OpenStage(); oS.ID_VIP = vip_id; oS.Number_People = 0; oS.Remark = TbRemark.Text.ToString(); oS.GuestID = Guest_id; oS.Type_CheckIn = "足浴"; oS.Remark = "鬼知道你备注什么"; oS.Content_Message = "谁设计的奇葩"; oS.State_Message = true; oS.HouseStageID = rS[0].ID_RoomStage + ","; oS.Time_Predict = DateTime.Now; oS.Time_Leave = DateTime.Now; m.YW_OpenStage.Add(oS); m.SaveChanges(); } /************/ //开台id int ktid = m.YW_OpenStage.Where(p => p.ID_VIP == (m.VIP_Table.Where(v => v.ID_Guest == krid).FirstOrDefault().ID_VIP)).SingleOrDefault().ID_OpenStage; //开台房台id string ktftid = m.YW_OpenStage.Where(p => p.ID_OpenStage == ktid).Single().HouseStageID; //分割数组 List <string> vs = ktftid.Split(',').ToList(); for (int i = 0; i < vs.Count(); i++) { if (vs[i] == "") { vs.Remove(vs[i]); break; } int ftid = Convert.ToInt32(vs[i]); //消费表 CW_Consumption cC = new CW_Consumption(); cC.ID_Bill = cbid; cC.ID_RoomStage = ftid; cC.Discount = Convert.ToDecimal(TbDiscount.Text) == 0 ? throw new NullReferenceException() : Convert.ToDecimal(TbDiscount.Text); cC.Time_Consumption = DateTime.Now.ToLocalTime(); m.CW_Consumption.Add(cC); //修改房台状态 SYS_RoomStage Rs = m.SYS_RoomStage.Where(m => m.ID_RoomStage == ftid).SingleOrDefault(); Rs.State_RoomStage = "已用"; } if (m.SaveChanges() > 0) { MessageBoxResult m = MessageBox.Show("开台成功!", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); if (m == MessageBoxResult.OK) { this.Close(); Resh(); } } }
/// <summary> /// 人民币结账 /// </summary> private void RMB_settlement() { try { if (!Tools.Tools.IsInteger(Tb_balance.Text)) { MessageBox.Show("请输入正确的数据类型", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } //钱够的情况 if (Tb_balance.Text != string.Empty) { //添加消费记录 CW_PayRecord c = new CW_PayRecord(); c.ID_Guest = ID_Guest; c.ID_Bill = ID_Bill; c.Price_Pay = decimal.Parse(Tb_guests_pay.Text.Trim()); c.Time_Pay = DateTime.Now.Date; c.PoP = Cb_payment_method.IsEnabled is false ?"人民币": Cb_payment_method.Text.Trim().ToString(); var co = m.CW_ConsumeDetail.Where(cc => cc.ID_Consumption == ID_Consumption && cc.State_ComsumeDetail == true).ToList(); foreach (var item in co) { //修改该消费记录状态 CW_ConsumeDetail cd = m.CW_ConsumeDetail.Where(cc => cc.ID_ComsumeDetail == item.ID_ComsumeDetail && cc.State_ComsumeDetail == true).SingleOrDefault(); cd.State_ComsumeDetail = false; m.Entry(cd).State = System.Data.Entity.EntityState.Modified; } //注销本次消费 CW_Consumption cp = m.CW_Consumption.Where(cc => cc.ID_Consumption == ID_Consumption && cc.Effective == true).Single(); cp.Effective = false; m.Entry(cp).State = System.Data.Entity.EntityState.Modified; CW_Bill cb = m.CW_Bill.Where(cc => cc.ID_Bill == ID_Bill && cc.State_Bill == null).Single(); cb.Time_PayBill = DateTime.Parse(Tb_The_check_time.Text.Trim()); cb.Remark = Tb_comment.Text.Trim().ToString(); cb.Price = decimal.Parse(Tb_guests_pay.Text.Trim()); cb.State_Bill = "已结账"; m.Entry(cb).State = System.Data.Entity.EntityState.Modified; SYS_RoomStage sr = m.SYS_RoomStage.Where(cc => cc.ID_RoomStage == ID_RoomStage && cc.ID_Guest == ID_Guest).Single(); sr.ID_Guest = null; sr.State_RoomStage = "未用"; m.Entry(sr).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { MessageBox.Show("结账成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } else //当钱不够时 if (Tb_to_pay_the_balance.Text != string.Empty) { //添加消费记录 CW_PayRecord c = new CW_PayRecord(); c.ID_Guest = ID_Guest; c.ID_Bill = ID_Bill; c.Price_Pay = decimal.Parse(Tb_guests_pay.Text.Trim()); c.Time_Pay = DateTime.Now.Date; c.PoP = Cb_payment_method.IsEnabled is false ? "人民币" : Cb_payment_method.Text.Trim().ToString(); m.SaveChanges(); //修改本次消费 CW_Consumption cp = m.CW_Consumption.Where(cc => cc.ID_Consumption == ID_Consumption && cc.Effective == true).Single(); cp.Prict = decimal.Parse(Tb_to_pay_the_balance.Text.Trim()); m.Entry(cp).State = System.Data.Entity.EntityState.Modified; CW_Bill cb = m.CW_Bill.Where(cc => cc.ID_Bill == ID_Bill && cc.State_Bill == null).Single(); cb.Time_PayBill = DateTime.Parse(Tb_The_check_time.Text.Trim()); cb.Remark = Tb_comment.Text.Trim().ToString(); cb.Price = decimal.Parse(Tb_guests_pay.Text.Trim()); m.Entry(cb).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { MessageBox.Show("部分结账成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } } catch (Exception e) { WPF_MvvMTest.Tools.Common_means.error_log(e); } }
/// <summary> /// 人民币结账 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtRMBSettlement_Click(object sender, RoutedEventArgs e) { //假如钱不够 decimal ljxf = Convert.ToDecimal(TbTheCumulative.Text); decimal bkzf = Convert.ToDecimal(TbFodingTime.Text); if (bkzf < ljxf) { MessageBox.Show("你的钱不够哦,不要想着吃霸王餐哦", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); return; } //客人账号信息 string krzh = TbGuestAccount.Text.Trim().ToString(); List <SYS_RoomStage> rS = m.SYS_RoomStage.Where(l => l.ID_Guest == m.VIP_Table.Where(k => k.Accounts == krzh).FirstOrDefault().ID_Grade).ToList(); int rs_id = rS[0].ID_RoomStage; foreach (var item in rS) { //房台id int ftid = item.ID_RoomStage; List <CW_Bill> CWb = m.CW_Bill.Where(p => p.ID_Bill == (m.CW_Consumption.Where(o => o.ID_RoomStage == ftid).FirstOrDefault().ID_Bill)).ToList(); foreach (var cW in CWb) { DateTime dtNow = DateTime.Now; //添加支付记录 CW_PayRecord cWpr = new CW_PayRecord(); cWpr.ID_Bill = cW.ID_Bill; cWpr.ID_Guest = rs_id; cWpr.Price_Pay = Convert.ToDecimal(TbTheCumulative.Text); cWpr.Time_Pay = dtNow; cWpr.PoP = "现金支付"; cWpr.State = true;//已支付 m.CW_PayRecord.Add(cWpr); m.SaveChanges(); int cwprid = m.CW_PayRecord.Where(p => p.ID_Bill == cW.ID_Bill && p.ID_Guest == rs_id && p.State == false).ToList()[0].ID_PayRecord; //账单 CW_Bill cwB = m.CW_Bill.Where(p => p.ID_Bill == cW.ID_Bill).SingleOrDefault(); cwB.Price = Convert.ToDecimal(TbTheCumulative.Text); cwB.State_Bill = "已结账"; cwB.Time_PayBill = dtNow; m.Entry(cwB).State = System.Data.Entity.EntityState.Modified; m.SaveChanges(); //消费记录明细 List <CW_ConsumeDetail> cwCD = m.CW_ConsumeDetail.Where(p => p.ID_Consumption == (m.CW_Consumption.Where(c => c.ID_RoomStage == ftid).FirstOrDefault().ID_Consumption)).ToList(); foreach (var cW_Cme in cwCD) { CW_ConsumeDetail cW_Consume = m.CW_ConsumeDetail.Where(p => p.ID_Consumption == cW_Cme.ID_Consumption).FirstOrDefault(); cW_Consume.State_ComsumeDetail = false; cW_Consume.ID_PayRecord = cwprid; m.Entry(cW_Consume).State = System.Data.Entity.EntityState.Modified; m.SaveChanges(); } } //修改房台状态 SYS_RoomStage sysRs = m.SYS_RoomStage.Where(p => p.ID_RoomStage == item.ID_RoomStage).SingleOrDefault(); sysRs.ID_Guest = null; sysRs.State_RoomStage = "未用"; m.Entry(sysRs).State = System.Data.Entity.EntityState.Modified; m.SaveChanges(); if (CWb.Count > 0) { MessageBoxResult mb = MessageBox.Show("结账成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); if (mb == MessageBoxResult.OK) { this.Close(); } } } }