Пример #1
0
 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;
     }
 }
Пример #2
0
        /// <summary>
        /// 根据订单的id更新订单的消费金额和点菜时间
        /// </summary>
        /// <param name="order">订单的对象</param>
        /// <returns></returns>
        public int UpdateMoneyAndTime(OrderInfo order)
        {
            string sql = "update OrderInfo set BeginTime=@BeginTime,OrderMoney=@OrderMoney where DelFlag=0 and OrderId=@OrderId";
            SqlParameter[] ps = {
                      new SqlParameter("@BeginTime",order.BeginTime),
                      new SqlParameter("@OrderMoney",order.OrderMoney),
                      new SqlParameter("@OrderId",order.OrderId)

                               };
            return SqlHelper.ExecuteNonQuery(sql, ps);
        }
Пример #3
0
        /// <summary>
        /// 更新订单中的数据
        /// </summary>
        /// <param name="order">订单的对象</param>
        /// <returns></returns>
        public int UpdateOrderInfo(OrderInfo order)
        {
            string sql = "update OrderInfo set OrderState=@OrderState,OrderMemberId=@OrderMemberId,EndTime=@EndTime,OrderMoney=@OrderMoney,DisCount=@DisCount where OrderId=@OrderId";

            SqlParameter[] ps = {
              new SqlParameter("@OrderState",order.OrderState),
              new SqlParameter("@OrderMemberId",order.OrderMemberId),
              new SqlParameter("@EndTime",order.EndTime),
              new SqlParameter("@OrderMoney",order.OrderMoney),
              new SqlParameter("@DisCount",order.DisCount),
              new SqlParameter("@OrderId",order.OrderId)
                               };
            return SqlHelper.ExecuteNonQuery(sql, ps);
        }
Пример #4
0
        //添加一个订单
        /// <summary>
        /// 添加一个订单
        /// </summary>
        /// <param name="order">订单的对象</param>
        /// <returns>添加一个订单后返回的是该订单的主键的id</returns>
        public object AddOrderInfo(OrderInfo order)
        {
            string sql = "insert into OrderInfo (SubTime,Remark,OrderState,DelFlag,SubBy,BeginTime,OrderMoney,DisCount) values(@SubTime,@Remark,@OrderState,@DelFlag,@SubBy,@BeginTime,@OrderMoney,@DisCount);select @@identity";

            //注意这个sql语句!!!!!!!!!!!!!!1是两个语句,还有一个select语句//select @@Identity 返回自动递增字段的值
            //准备参数
            SqlParameter[] ps = {
                   new SqlParameter("@SubTime",order.SubTime),
                   new SqlParameter("@Remark",order.Remark),
                   new SqlParameter("@OrderState",order.OrderState),
                   new SqlParameter("@DelFlag",order.DelFlag),
                   new SqlParameter("@SubBy",order.SubBy),
                   new SqlParameter("@BeginTime",order.BeginTime),
                   new SqlParameter("@OrderMoney",order.OrderMoney),
                   new SqlParameter("@DisCount",order.DisCount)
                               };
            return SqlHelper.ExecuteScalar(sql, ps);
        }
Пример #5
0
        //结账
        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);
            }
        }
Пример #6
0
 //窗体关闭的时候更新消费总金额到订单表
 private void FrmAddConsumption_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (!string.IsNullOrEmpty(labSumMoney.Text))
     {
         OrderInfoBll oBll = new OrderInfoBll();
         OrderInfo order = new OrderInfo();
         order.BeginTime = System.DateTime.Now;
         order.OrderMoney = Convert.ToDouble(labSumMoney.Text);//消费金额
         order.OrderId = Convert.ToInt32(labOrderId.Text);//订单Id
         bool result = oBll.UpdateMoneyAndTime(order);
         //上面就没有必要显示什么消息了。
     }
 }