/// <summary> /// 赠送 /// </summary> private void Presented(string str) { if (!IS_temporary_null(str)) { return; } //temporary[0].ID_ConsumeDetail CW_ConsumeDetail cd = m.CW_ConsumeDetail.Where(c => c.ID_ComsumeDetail == temporary[0].ID_ConsumeDetail).SingleOrDefault(); cd.presenter = true; CW_Consumption cc = m.CW_Consumption.Where(c => c.ID_Consumption == ID_consumption && c.Effective == true).SingleOrDefault(); decimal tot = m.PJ_ProjectDetail.Where(c => c.ID_Project == cd.ID_Project).Single().Price; cc.Prict = cc.Prict - tot > 0 ? tot : 0; m.Entry(cd).State = System.Data.Entity.EntityState.Modified; m.Entry(cc).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { Get_data_right(); Show_message(str); } }
/// <summary> /// 消费退单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtConsumeChargeback_Click(object sender, RoutedEventArgs e) { List <Consumer> consumers = new List <Consumer>(); consumers = STATIC_cache.StaticConsumerRight; if (consumers == null || consumers.Count() < 1) { MessageBox.Show("请选择需要退单的项目", "大海提示", MessageBoxButton.OKCancel, MessageBoxImage.Asterisk); return; } //房台id int ftid = DataMessage[0].ID_RoomStage; //消费明细id int mxid = consumers[0].ID_ConsumeDetail; CW_ConsumeDetail cCd = m.CW_ConsumeDetail.Where(p => p.ID_ComsumeDetail == mxid).Single(); m.CW_ConsumeDetail.Remove(cCd); if (m.SaveChanges() > 0) { MessageBoxResult m = MessageBox.Show("消费退单成功", "大海提示", MessageBoxButton.OKCancel, MessageBoxImage.Asterisk); if (m == MessageBoxResult.OK) { } //右边的表格 View.Windows.W_UC.W_ConsumerFinanceDataGridRight r = new W_UC.W_ConsumerFinanceDataGridRight(ftid, "", false, 0); r.TransmitConsumer += new W_UC.TransmitConsumer(DataRightCount); TiRight.Content = null; TiRight.Content = r; } }
/// <summary> /// 消费退单 /// </summary> private void Consumer_single_back() { if (!IS_temporary_null("消费退单")) { return; } MessageBoxResult mbr = MessageBox.Show("确定要对 " + temporary[0].MC_Project + " 这条数据进行消费退单吗?", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); if (mbr == MessageBoxResult.OK) { CW_ConsumeDetail cd = m.CW_ConsumeDetail.Where(c => c.ID_ComsumeDetail == temporary[0].ID_ConsumeDetail).SingleOrDefault(); m.CW_ConsumeDetail.Remove(cd); CW_Consumption cc = m.CW_Consumption.Where(c => c.ID_Consumption == ID_consumption && c.Effective == true).SingleOrDefault(); decimal tot = m.PJ_ProjectDetail.Where(c => c.ID_Project == cd.ID_Project).Single().Price; cc.Prict = cc.Prict - tot > 0 ? tot : 0; m.Entry(cc).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { Get_data_right(); MessageBox.Show("消费退单成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } }
//Tb_discount /// <summary> /// 打折 /// </summary> private void Discount(string str) { try { if (!Tb_discount.IsVisible && str.Trim() == "打折") { Bt_Consumer_turn_single.Visibility = Visibility.Hidden; //隐藏目标按钮 Tb_discount.Visibility = Visibility.Visible; //显示元素 return; } //判断折扣 if (!WPF_MvvMTest.Tools.Tools.IsDiscount(Tb_discount.Text.Trim())) { MessageBox.Show("请输入正确的折扣,只能在 1~10 之间", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } decimal dis = decimal.Parse(Tb_discount.Text.Trim()) / 10; decimal gross_amount = 0; foreach (var item in op) { CW_ConsumeDetail cp = m.CW_ConsumeDetail.Where(c => c.ID_Project == item.ID_Project && c.ID_ComsumeDetail == item.ID_ConsumeDetail && c.State_ComsumeDetail == true).SingleOrDefault(); cp.money = cp.money * dis; item.Price = item.Price * dis; m.Entry(cp).State = System.Data.Entity.EntityState.Modified; gross_amount = gross_amount + item.Price; } CW_Consumption cpn = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single(); cpn.Discount = Convert.ToDecimal(Tb_discount.Text.Trim()); cpn.Prict = gross_amount; m.Entry(cpn).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { Common_means.operate_successfully(str); Bt_Consumer_turn_single.Visibility = Visibility.Visible; //隐藏目标按钮 Tb_discount.Visibility = Visibility.Hidden; //显示元素 Get_data_right(); Show_message(str); } else { Common_means.operation_failure(str); } } catch (Exception e) { Debug.WriteLine("错误日志信息" + e.Message + "\n" + "对象名称" + e.Source + "\n" + "堆栈信息" + e.StackTrace); } }
/// <summary> /// 添加按钮 /// </summary> private void Accretion() { int _inum = -1; //添加 try { string _snum = Tb_Consumption_quantity.Text.ToString().Trim(); _inum = int.Parse(_snum); if (_inum <= 0) { MessageBox.Show("请输入有效数字", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } } catch (Exception) { MessageBox.Show("请输入有效数字", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (sk_left == null) { MessageBox.Show("请选择要录入的数据", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } int _icon_id = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_RoomStag && c.Effective == true).Single().ID_Consumption; DateTime dt = DateTime.Now; for (int i = 0; i < _inum; i++) { CW_ConsumeDetail cd = new CW_ConsumeDetail(); cd.ID_Consumption = _icon_id; cd.ID_Project = sk_left.Peek().ID_Project; cd.State_ComsumeDetail = true; cd.presenter = false; cd.money = sk_left.Peek().Price; cd.time = dt; m.CW_ConsumeDetail.Add(cd); } if (m.SaveChanges() > 0) { MessageBoxResult mbr = MessageBox.Show("客人消费录入成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); Window_Loaded(null, null); Tb_Consumption_quantity.Text = string.Empty; } }
private void BtAdd_Click(object sender, RoutedEventArgs e) { int count = Convert.ToInt32(TbConsumeNum.Text) == null?0: Convert.ToInt32(TbConsumeNum.Text); List <Consumer> cS = new List <Consumer>(); cS = STATIC_cache.StaticConsumerLeft; if (cS == null) { MessageBox.Show("请选择数据", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); return; } int ftid = DataMessage[0].ID_RoomStage; int cC = m.CW_Consumption.Where(p => p.ID_RoomStage == ftid).Count(); //存在消费单 if (cC > 0) { int xfid = m.CW_Consumption.Where(p => p.ID_RoomStage == ftid).Single().ID_Consumption; for (int i = 0; i < count; i++) { CW_ConsumeDetail iCD = new CW_ConsumeDetail(); iCD.ID_Consumption = xfid; iCD.ID_Project = cS[0].ID_Project; iCD.State_ComsumeDetail = true; m.CW_ConsumeDetail.Add(iCD); } if (m.SaveChanges() > 0) { MessageBoxResult m = MessageBox.Show("消费入单成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); if (m == MessageBoxResult.OK) { TbConsumeNum.Text = "1"; } //右边的表格 View.Windows.W_UC.W_ConsumerFinanceDataGridRight r = new W_UC.W_ConsumerFinanceDataGridRight(ftid, "", false, 0); r.TransmitConsumer += new W_UC.TransmitConsumer(DataRightCount); TiRight.Content = null; TiRight.Content = r; } } else { MessageBox.Show("请先开台,再消费入单", "大海提示", MessageBoxButton.OK, MessageBoxImage.Asterisk); } }
/// <summary> /// 单项打折 /// </summary> /// <param name="str"></param> private void Single_item_at_a_discount(string str) { if (!Tb_discount.IsVisible && str.Trim() == "单项打折") { Bt_Consumer_turn_single.Visibility = Visibility.Hidden; //隐藏目标按钮 Tb_discount.Visibility = Visibility.Visible; //显示元素 return; } // temporary.Count == 0 ? MessageBox.Show("请选择需要打折的消费", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning) : temporary.Clear(); if (temporary.Count == 0) { MessageBox.Show("请选择需要打折的消费", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } //判断折扣 if (!WPF_MvvMTest.Tools.Tools.IsDiscount(Tb_discount.Text.Trim())) { MessageBox.Show("请输入正确的折扣,只能在 1~10 之间", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } decimal dis = decimal.Parse(Tb_discount.Text.Trim()) / 10; decimal mon = 0; foreach (var item in temporary) { CW_ConsumeDetail cp = m.CW_ConsumeDetail.Where(c => c.ID_Project == item.ID_Project && c.ID_ComsumeDetail == item.ID_ConsumeDetail && c.State_ComsumeDetail == true).SingleOrDefault(); cp.money = cp.money * dis; item.Price = item.Price * dis; mon = item.Price; m.Entry(cp).State = System.Data.Entity.EntityState.Modified; } CW_Consumption cpn = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single(); //cpn.Discount = Convert.ToDecimal(Tb_discount.Text.Trim()); cpn.Prict = cpn.Prict - mon + cpn.Prict; m.Entry(cpn).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { Show_message(str); Get_data_right(); } }
/// <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> private void Addition(string name) { string str = Tb_Consumption_quantity.Text.Trim(); if (!WPF_MvvMTest.Tools.Tools.IsInteger(str)) { MessageBox.Show("请输入正整数", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); return; } int count = int.Parse(str); if (count > 0) { try { // int ID_cp = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).SingleOrDefault().ID_Consumption; decimal mymoney = 0; for (int i = 0; i < count; i++) { //添加消费明细 CW_ConsumeDetail c = new CW_ConsumeDetail(); c.ID_Project = projects[0].ID_Project; c.ID_Consumption = ID_consumption; c.ID_PayRecord = null; c.State_ComsumeDetail = true; c.money = projects[0].Price; mymoney += projects[0].Price; m.CW_ConsumeDetail.Add(c); op.Add(projects[0]); } CW_Consumption cc = m.CW_Consumption.Where(c => c.ID_Consumption == ID_consumption && c.Effective == true).SingleOrDefault(); cc.Prict = mymoney; //cc.Prict = m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single().Prict > 0 ? m.CW_Consumption.Where(c => c.ID_RoomStage == ID_Room && c.Effective == true).Single().Prict : op.Where(c => c.presenter == "否").Select(p => p.Price).ToList().Sum(); //消费总金额 // DGTC_accruing_amounts.Header = op.Where(c => c.presenter == "否").Select(p => p.Price).ToList().Sum(); m.Entry(cc).State = System.Data.Entity.EntityState.Modified; if (m.SaveChanges() > 0) { MessageBox.Show("消费入单成功", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); Get_data_right(); Show_message(str); } } catch (Exception) { MessageBox.Show("消费入单异常", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("请输入消费数量", "大海提示", MessageBoxButton.OK, MessageBoxImage.Warning); } }
/// <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(); } } } }