private void btnOk_Click(object sender, EventArgs e) { //首先改变餐桌状态 DeskInfoBLL dkBll = new DeskInfoBLL(); bool dkFlag = dkBll.UpdateDeskInfoStateByDeskId(Convert.ToInt32(labId.Text), 1); //添加一个订单 返回该订单ID OrderInfo order =new OrderInfo(); order.BeginTime = System.DateTime.Now;//订单的开始时间 order.DelFlag = 0;//删除标识 order.DisCount = 0;//折扣==针对会员 order.OrderMoney = 0;//订单消费的金额默认值为0 order.OrderState = 1;//订单状态1===使用 order.Remark = txtPersonCount.Text + "个" + txtDescription.Text;//备注 order.SubBy = 1;//提交人默认1 order.SubTime = System.DateTime.Now; OrderInfoBll oBll = new OrderInfoBll(); //获得订单的id object orderIdObj = oBll.AddOrderInfo(order); //为餐桌和订单的中间表添加一条记录 R_Order_Desk rod = new R_Order_Desk(); rod.DeskId = Convert.ToInt32(labId.Text);//餐桌的id rod.OrderId = Convert.ToInt32(orderIdObj);//订单的id ordId = rod.OrderId;//存储订单的id R_Order_DeskBll rodBll = new R_Order_DeskBll(); bool rodFlag = rodBll.AddR_Order_Desk(rod); if (dkFlag && rodFlag) { md.MsgDivShow("开单成功", 1, Bind); } else { md.MsgDivShow("开单失败,请联系程序员", 1); return; } }
//结账 private void btnAccounts_Click(object sender, EventArgs e) { //餐桌状态发生改变 DeskInfoBLL dkbll = new DeskInfoBLL(); bool dkResult = dkbll.UpdateDeskInfoStateByDeskId(Convert.ToInt32(labdkId.Text), 0); //订单状态发生改变 OrderInfoBll orderBll = new OrderInfoBll(); OrderInfo order = new OrderInfo(); order.EndTime = System.DateTime.Now;//当前的时间 order.OrderMoney = Convert.ToDouble(lblMoney.Text);//结账后的金额 order.OrderState = 2;//状态 order.OrderId = Convert.ToInt32(labOrderId.Text); if (cmbMember.SelectedIndex != 0) { //获取选中的会员对象 MemberInfo mem = (MemberInfo)cmbMember.SelectedItem; order.OrderMemberId = mem.MemberId;//会员的id order.DisCount = mem.MemDiscount;//折扣 //根据会员的id更新该会员的金额 MemberInfoBl memBll = new MemberInfoBl(); //得到会员的金额 double money = Convert.ToDouble(labyuMoney.Text) - Convert.ToDouble(lblMoney.Text); //更新会员余额 memBll.UpdateMemberMoneyById(mem.MemberId, money);//==不接收了 } //更新订单中的金额 bool orderResult = orderBll.UpdateOrderInfo(order); //会员结账----更改会员余额 //改变订单对应的订单和菜单的中间表中的菜的状态 R_Order_ProductBll ropBll = new R_Order_ProductBll(); bool ropResult = ropBll.UpdateR_Order_ProductDelFlagByOrderId(Convert.ToInt32(labOrderId.Text)); if (dkResult && orderResult & ropResult) { md.MsgDivShow("顾客结账成功", 1); } else { md.MsgDivShow("结账失败了", 1); } }