Esempio n. 1
0
        /// <summary>
        /// 更新订单状态
        /// </summary>
        /// <param name="helper">订单状态操作类</param>
        /// <param name="orderStateEnum">要更新的订单状态</param>
        protected virtual bool UpdateState(OrderStateHelper helper, OrderStateEnum orderStateEnum)
        {
            bool result = false;

            result = new OrderInfoBll().UpdateValue(helper.OrderId, orderStateEnum);
            return(result);
        }
Esempio n. 2
0
        void listview_DoubleClick(object sender, EventArgs e)
        {
            //得到双击的listview
            ListView listview = sender as ListView;
            //然后去设计窗口,给listview控件设置属性,MUltiSelect=false,(multiline)只允许选择一个,不许多选
            ListViewItem item    = listview.SelectedItems[0]; //拿到双击的项了,当项被双击后,被选择,这里注意:我们定义的item就可以拿到上面item存储的tag信息
            int          tableId = Convert.ToInt32(item.Tag); //获得餐桌编号,给业务逻辑层开单使用

            //如果当前餐桌是空闲状态,就进行开单操作
            if (item.ImageIndex == 0)
            {
                OrderInfoBll oiBll = new OrderInfoBll();
                if (oiBll.Kaidan(tableId))
                {
                    //打开开单界面
                    //当前餐桌的状态改为占用
                    //这里注意,点开了开单界面,并不代表下单了,可能并没有下单,
                    //使用委托事件,必须在开单界面点击了下单,才可以更换图片

                    //继续往下执行打开点菜窗体
                }
            }
            else
            {
                //如果不是空闲状态,就进行加菜操作,一样也是打开点菜窗体
            }
            OrderInfoList orderInfoList = OrderInfoList.Create();

            orderInfoList.Tag = tableId;//将餐桌编号传递过去,用于进行订单编号的查找,这样才能加菜点菜
            orderInfoList.GetTableFreeEvent += GetTableFree;
            orderInfoList.Show();
            orderInfoList.Focus();
        }
        private void listview_DoubleClick(object sender, EventArgs e)
        {
            //得到双击的listview
            ListView listView = sender as ListView;
            //当项被双击后,会被选择,得到当前选择的ListViewItem
            ListViewItem item    = listView.SelectedItems[0];
            int          tableId = Convert.ToInt32(item.Tag);

            //如果当前餐桌是空闲状态,则进行开单操作
            if (item.ImageIndex == 0)
            {
                OrderInfoBll oiBll = new OrderInfoBll();
                if (oiBll.KaiDan(tableId))
                {
                    //将当前餐桌的状态改为占用
                    item.ImageIndex = 1;
                }
            }
            else
            {
                //如果不是空闲状态,则进行加菜操作
            }
            //打开点菜窗体
            OrderInfoList orderInfoList = new OrderInfoList();

            orderInfoList.Tag = tableId;//将餐桌编号传递过去,用于进行订单编号的查找
            orderInfoList.Show();
        }
Esempio n. 4
0
        //增加消费
        private void btnAddConsumption_Click(object sender, EventArgs e)
        {
            //
            ListView lv = (ListView)(tabMain.SelectedTab.Controls[0]);
            //房间的对象
            RoomInfo room = (RoomInfo)(tabMain.SelectedTab.Tag);

            //餐桌的对象
            if (lv.SelectedItems.Count <= 0)//没选中餐桌
            {
                md.MsgDivShow("请选中要增加消费的餐桌", 1);
                return;
            }

            DeskInfo dk = (lv.SelectedItems[0].Tag as DeskInfo);

            if (dk.DeskState == 0)
            {
                md.MsgDivShow("请选择开单后的餐桌进行增加消费", 1);
                return;
            }
            //根据餐桌的id查询该餐桌对应的订单的id
            OrderInfoBll      orderBll   = new OrderInfoBll();
            object            objOrderId = orderBll.GetOrderIdByDeskId(dk.DeskId);
            FrmAddConsumption fac        = FrmAddConsumption.Single(dk.DeskName, Convert.ToInt32(objOrderId));

            //增加消费之后=======刷新
            fac.FormClosed += new FormClosedEventHandler(fbi_FormClosed); //!!!!!!!!!必须刷新
            fac.Show();                                                   //显示增加消费的窗体
        }
Esempio n. 5
0
        private void btnMoney_Click(object sender, EventArgs e)
        {
            TabPage  tp = tabControl1.SelectedTab;
            ListView lv = tp.Controls[0] as ListView;

            if (lv.SelectedItems.Count <= 0)
            {
                MessageBox.Show("请选中");
                return;
            }
            if ((lv.SelectedItems[0].Tag as DeskInfo).DeskState != 1)
            {
                MessageBox.Show("请选择开单的餐桌");
                return;
            }
            MyEventArgs mea_add = new MyEventArgs();
            FrmAddMoney fam     = new FrmAddMoney();

            mea_add.Name = (lv.SelectedItems[0].Tag as DeskInfo).DeskName;
            OrderInfoBll obll = new OrderInfoBll();
            int          orde = obll.GetOrderIdByDeskId((lv.SelectedItems[0].Tag as DeskInfo).DeskId);

            mea_add.Temp = orde;
            this.evtFam += new EventHandler(fam.SetText);
            if (this.evtFam != null)
            {
                this.evtFam(this, mea_add);
                fam.FormClosed += new FormClosedEventHandler(fam_Formclose);
                fam.ShowDialog();
            }
        }
Esempio n. 6
0
        void lvTableInfo_DoubleClick(object sender, EventArgs e)
        {
            //获取餐桌编号
            var lv1 = sender as ListView;
            var lvi = lv1.SelectedItems[0];

            if (lvi.ImageIndex == 0)
            {
                int tableId = Convert.ToInt32(lvi.Tag);
                //MessageBox.Show(tableId.ToString());

                //餐桌空闲
                //开单,向数据库orderinfo表中添加数据
                //并将餐桌状态改为使用中
                OrderInfoBll oiBll = new OrderInfoBll();
                oiBll.KaiDan(tableId);
                //更新项的图标为占用
                lvi.ImageIndex = 1;
                //设置提示信息
                lvi.ToolTipText = lvi.Tag.ToString() + "号桌 " + (lvi.ImageIndex == 0 ? "空闲" : "使用中");
            }

            FrmOrderDish frmOrderDish = new FrmOrderDish();

            frmOrderDish.Tag = lvi.Tag;
            frmOrderDish.ShowDialog();
        }
Esempio n. 7
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;
     }
 }
Esempio n. 8
0
        void lvTableInfo_DoubleClick(object sender, EventArgs e)
        {
            //获取被点的餐桌项
            var lv1 = sender as ListView;
            var lvi = lv1.SelectedItems[0];
            //获取餐桌编号
            int          tableId = Convert.ToInt32(lvi.Tag);
            OrderInfoBll oiBll   = new OrderInfoBll();

            if (lvi.ImageIndex == 0)
            {
                //当前餐桌为空闲则开单
                //1、开单,向orderinfo表插入数据
                //2、修改餐桌状态为占用
                int orderId = oiBll.KaiDan(tableId);
                //单号
                lvi.Tag = orderId;

                //3、更新项的图标为占用
                lv1.SelectedItems[0].ImageIndex = 1;
            }
            else
            {
                //当前餐桌已经占用,则进行点菜操作 根据tableid获取orderid
                lvi.Tag = oiBll.GetOrderIdByTableId(tableId);
            }

            //4、打开点菜窗体
            FormOrderDish formOrderDish = new FormOrderDish();

            //将单号传入
            formOrderDish.Tag         = lvi.Tag;
            formOrderDish.CloseEvrnt += LoadHallInfo;
            formOrderDish.Show();
        }
Esempio n. 9
0
 //上帝结账
 private void btnGuestPay_Click(object sender, EventArgs e)
 {
     ListView lv = (ListView)(tabMain.SelectedTab.Controls[0]);
     //房间的对象
     RoomInfo room = (RoomInfo)(tabMain.SelectedTab.Tag);
     //餐桌的对象
     if (lv.SelectedItems.Count <= 0)//没选中餐桌
     {
         md.MsgDivShow("请选中要结账的餐桌", 1);
         return;
     }
     DeskInfo dk = (lv.SelectedItems[0].Tag as DeskInfo);
     if (dk.DeskState == 0)//没有选中就餐的餐桌
     {
         md.MsgDivShow("请选择就餐的餐桌进行结账", 1);
         return;
     }
     //结账了--显示窗体
     //获取订单的id
     OrderInfoBll orderBll = new OrderInfoBll();
     object objOrderId = orderBll.GetOrderIdByDeskId(dk.DeskId);
     FrmGuestPay fgp = FrmGuestPay.Single(Convert.ToInt32(objOrderId), dk.DeskId, dk.DeskName);
     fgp.FormClosed += new FormClosedEventHandler(fbi_FormClosed);//刷新
     fgp.Show();//结账的窗体就显示出来
 }
Esempio n. 10
0
        //增加消费
        private void btnAddConsumption_Click(object sender, EventArgs e)
        {
            //
            ListView lv = (ListView)(tabMain.SelectedTab.Controls[0]);
            //房间的对象
            RoomInfo room = (RoomInfo)(tabMain.SelectedTab.Tag);
            //餐桌的对象
            if (lv.SelectedItems.Count <= 0)//没选中餐桌
            {
                md.MsgDivShow("请选中要增加消费的餐桌", 1);
                return;
            }

            DeskInfo dk = (lv.SelectedItems[0].Tag as DeskInfo);
            if (dk.DeskState == 0)
            {
                md.MsgDivShow("请选择开单后的餐桌进行增加消费", 1);
                return;
            }
            //根据餐桌的id查询该餐桌对应的订单的id
            OrderInfoBll orderBll = new OrderInfoBll();
            object objOrderId = orderBll.GetOrderIdByDeskId(dk.DeskId);
            FrmAddConsumption fac = FrmAddConsumption.Single(dk.DeskName, Convert.ToInt32(objOrderId));
            //增加消费之后=======刷新
            fac.FormClosed += new FormClosedEventHandler(fbi_FormClosed);//!!!!!!!!!必须刷新
            fac.Show();//显示增加消费的窗体
        }
Esempio n. 11
0
        private void LvTableInfo_DoubleClick(object sender, EventArgs e)
        {
            //获取被点的餐桌项
            ListView     lv1 = sender as ListView;
            ListViewItem lvi = lv1.SelectedItems[0];

            //获取餐桌编号
            int tableId = Convert.ToInt32(lv1.SelectedItems[0].Tag);

            OrderInfoBll oiBll = new OrderInfoBll();
            int          orderId;

            if (lvi.ImageIndex == 0)
            {
                //当前餐桌空闲需要开单
                //1.开单向OrderInfo中写入,同时更新餐桌状态
                //获得订单号存到items项的Tag属性中
                orderId = oiBll.CreaterOder(tableId);

                //2.更新餐桌的图标为占用
                lv1.SelectedItems[0].ImageIndex = 1;
            }
            else
            {
                //当前餐桌已经占用,则需要点菜
                orderId = oiBll.GetOrderIdByTableTid(tableId);
            }


            //2.打开点菜页面
            FormOrderDish formOrderDish = new FormOrderDish();

            formOrderDish.Tag = orderId;
            formOrderDish.ShowDialog();//模态打开
        }
Esempio n. 12
0
        //上帝结账
        private void btnGuestPay_Click(object sender, EventArgs e)
        {
            ListView lv = (ListView)(tabMain.SelectedTab.Controls[0]);
            //房间的对象
            RoomInfo room = (RoomInfo)(tabMain.SelectedTab.Tag);

            //餐桌的对象
            if (lv.SelectedItems.Count <= 0)//没选中餐桌
            {
                md.MsgDivShow("请选中要结账的餐桌", 1);
                return;
            }
            DeskInfo dk = (lv.SelectedItems[0].Tag as DeskInfo);

            if (dk.DeskState == 0)//没有选中就餐的餐桌
            {
                md.MsgDivShow("请选择就餐的餐桌进行结账", 1);
                return;
            }
            //结账了--显示窗体
            //获取订单的id
            OrderInfoBll orderBll   = new OrderInfoBll();
            object       objOrderId = orderBll.GetOrderIdByDeskId(dk.DeskId);
            FrmGuestPay  fgp        = FrmGuestPay.Single(Convert.ToInt32(objOrderId), dk.DeskId, dk.DeskName);

            fgp.FormClosed += new FormClosedEventHandler(fbi_FormClosed); //刷新
            fgp.Show();                                                   //结账的窗体就显示出来
        }
Esempio n. 13
0
        private void OrderDishList_Load(object sender, EventArgs e)
        {
            //根据餐桌编号获取餐桌名称和餐桌所属厅包的名称,在窗体上面进行提示!
            TableInfoBll tiBll = new TableInfoBll();
            TableInfo    ti    = new TableInfo();

            ti.TId = Convert.ToInt32(this.Tag);
            List <TableInfo> list = new List <TableInfo>();

            list = tiBll.GetList(ti);
            string tableTitleById = list[0].TTitle;
            string hallTypeById   = list[0].HallType;

            lblOrderDish.Text = "正在查看【" + hallTypeById + "】【" + tableTitleById + "】号的点菜详情!";
            this.Text         = "【" + hallTypeById + "】【" + tableTitleById + "】";

            //加载所有已点菜品,包含未下单的
            OrderInfoBll oiBll = new OrderInfoBll();
            //根据餐桌id获取订单id
            int orderId = oiBll.GetOidByTid(Convert.ToInt32(this.Tag));

            gvOrderDishInfo.AutoGenerateColumns = false;
            gvOrderDishInfo.DataSource          = oiBll.GetOrderDetail(orderId);
            //计算点菜总金额
            GetOrderMoney();
        }
Esempio n. 14
0
 private void FrmAddMoney_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (!string.IsNullOrEmpty(labSumMoney.Text) && labSumMoney.Text != "0")
     {
         OrderInfoBll obll = new OrderInfoBll();
         obll.UpdateMoney(Convert.ToInt32(labDeskId.Text), Convert.ToDecimal(labSumMoney.Text));
     }
 }
Esempio n. 15
0
 public DataManager()
 {
     GoodsInfoBLL      = new GoodsInfoBll();
     NoReceiveMoneyBLL = new NoReceiveMoneyBll();
     ProfitsInfoBLL    = new ProfitsInfoBll();
     SortInfoBLL       = new SortInfoBll();
     UserInfoBLL       = new UserInfoBll();
     WholeSalerInfoBLL = new WholeSalerInfoBll();
     UnitInfoBLL       = new UnitInfoBll();
     OrderInfoBLL      = new OrderInfoBll();
 }
Esempio n. 16
0
        /// <summary>
        /// 确定开单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            //做三件事情
            //1更改餐桌状态
            DeskInfoBll dkbll  = new DeskInfoBll();
            bool        dkFlag = dkbll.UpdateDeskStateByDeskId(this.ID, 1);

            //2添加一个订单
            OrderInfoBll orbll = new OrderInfoBll();
            OrderInfo    o     = new OrderInfo();

            o.SubTime    = System.DateTime.Now;
            o.DelFlag    = 0;
            o.OrderMoney = 0;
            o.OrderState = 1;
            o.Remark     = txtPersonCount.Text + txtDescription.Text;
            o.SubBy      = 1;
            int orderId = orbll.AddOrderInfo(o);

            //3添加一个中间表
            R_Order_DeskBll rodbll = new R_Order_DeskBll();
            R_Order_Desk    rod    = new R_Order_Desk();

            rod.DeskId  = this.ID;
            rod.OrderId = orderId;
            bool rodFlag = rodbll.AddOrderDesk(rod);

            if (dkFlag && rodFlag)
            {
                MessageBox.Show("开单成功");
            }
            else
            {
                MessageBox.Show("开单失败");
            }

            if (ckbMeal.Checked)
            {
                FrmAddMoney frm_money = new FrmAddMoney();
                mea_money.Name    = labDeskName.Text; //餐桌的编号
                mea_money.Temp    = orderId;          //订单id
                this.evtFrmmoney += new EventHandler(frm_money.SetText);
                if (this.evtFrmmoney != null)
                {
                    this.evtFrmmoney(this, mea_money);
                    frm_money.FormClosed += new FormClosedEventHandler(frm_money_formclosed);
                    frm_money.ShowDialog();
                }
            }
            else
            {
            }
        }
Esempio n. 17
0
        private FrmGuestPay(int orderId, int deskId, string deskName)
        {
            InitializeComponent();
            //显示订单的编号
            labOrderId.Text = orderId.ToString();//订单的单号(订单的id)
            labdkId.Text = deskId.ToString();//餐桌的id存储起来
            labDeskName.Text = deskName;//餐桌的编号

            //根据订单的id查询消费的总金额
            OrderInfoBll oBll = new OrderInfoBll();
            labMoney.Text = oBll.GetMoneyByOrderId(orderId).ToString();//显示消费金额
            lblMoney.Text = labMoney.Text;//结账的金额
        }
Esempio n. 18
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);
         //上面就没有必要显示什么消息了。
     }
 }
Esempio n. 19
0
        private FrmGuestPay(int orderId, int deskId, string deskName)
        {
            InitializeComponent();
            //显示订单的编号
            labOrderId.Text  = orderId.ToString(); //订单的单号(订单的id)
            labdkId.Text     = deskId.ToString();  //餐桌的id存储起来
            labDeskName.Text = deskName;           //餐桌的编号

            //根据订单的id查询消费的总金额
            OrderInfoBll oBll = new OrderInfoBll();

            labMoney.Text = oBll.GetMoneyByOrderId(orderId).ToString(); //显示消费金额
            lblMoney.Text = labMoney.Text;                              //结账的金额
        }
Esempio n. 20
0
        public void SetText(object sender, EventArgs e)
        {
            MyEventArgs mea_jiezhang = e as MyEventArgs;
            DeskInfo    dk           = mea_jiezhang.Obj as DeskInfo;

            this.dkId        = dk.DeskId;
            labDeskName.Text = dk.DeskName;
            OrderInfoBll obll    = new OrderInfoBll();
            int          orderId = obll.GetOrderIdByDeskId(this.dkId);

            labOrderId.Text = orderId.ToString();
            decimal money = obll.GetMoney(orderId);

            labMoney.Text = money.ToString();
            lblMoney.Text = money.ToString();
        }
Esempio n. 21
0
        private void btnAccounts_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtMoney.Text))
            {
                MessageBox.Show("想吃霸王餐做你的美梦去吧");
                return;
            }
            if (Convert.ToDecimal(txtMoney.Text) < Convert.ToDecimal(lblMoney.Text))
            {
                MessageBox.Show("这点钱只能买个茶叶蛋");
                return;
            }
            //餐桌状态改变
            DeskInfoBll dbll   = new DeskInfoBll();
            bool        dkFlag = dbll.UpdateDeskStateByDeskId(this.dkId, 0);
            OrderInfo   order  = new OrderInfo();

            if (cmbMemmber.SelectedIndex != 0)
            {
                MemmberInfo mem = cmbMemmber.SelectedItem as MemmberInfo;
                order.OrderMemId = mem.MemmberId;   //会员的id
                order.DisCount   = mem.MemDiscount; //折扣
                //会员的余额.
                decimal money = Convert.ToDecimal(mem.MemMoney) - Convert.ToDecimal(lblMoney.Text);
                //判断给你们了

                //更新会员卡内的钱
                MemmberInfoBll memBll  = new MemmberInfoBll();
                bool           memFlag = memBll.UpdateMoneyByMemId(mem.MemmberId, money);
            }
            //订单的状态改变,钱,会员的id,折扣
            order.EndTime    = System.DateTime.Now;//结束时间
            order.OrderId    = Convert.ToInt32(labOrderId.Text);
            order.OrderMoney = Convert.ToDecimal(lblMoney.Text);

            OrderInfoBll obll  = new OrderInfoBll();
            bool         oFlag = obll.UpdateOrderInfoMoney(order);

            if (dkFlag && oFlag)
            {
                MessageBox.Show("结账成功");
            }
            else
            {
                MessageBox.Show("失败");
            }
        }
Esempio n. 22
0
        private void MoneyMenu_Click(object sender, EventArgs e)
        {
            var listView = tabControl1.SelectedTab.Controls[0] as ListView;

            try
            {
                var lvTable = listView.SelectedItems[0];
                if (lvTable.ImageIndex == 0)
                {
                    MessageBox.Show("餐桌还未使用,无法结账");
                    return;
                }
                OrderInfoBll bll     = new OrderInfoBll();
                int          tableId = Convert.ToInt32(lvTable.Tag);
                int          orderId = bll.GetOrderIdByTableId(tableId);

                #region 显示结账界面
                TabPage tabPage = new TabPage();
                tabPage.Text = "结账付款";
                tabPage.Name = "page5";

                if (!IsInto(tabPage.Name))
                {
                    FormOrderPay page = new FormOrderPay();
                    //注册关闭事件
                    page.close          += Close;
                    page.Refresh        += LoadHallInfo;
                    page.Name            = "formpage";
                    page.TopLevel        = false;
                    page.FormBorderStyle = FormBorderStyle.None;
                    tabPage.Controls.Add(page);
                    page.Tag = orderId;
                    page.Show();
                    tabControl1.TabPages.Add(tabPage);
                }
                //选中该选项卡
                this.tabControl1.SelectedTab = tabControl1.TabPages["page5"];
                #endregion
            }
            catch
            {
                MessageBox.Show("请选择要结账的厅包");
            }
        }
Esempio n. 23
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);
            }
        }
Esempio n. 24
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);
            }
        }
        private void LvTableInfo_DoubleClick_New_Order(object sender, EventArgs e)
        {
            //Get the number of table
            var lvl     = sender as ListView;
            int tableId = Convert.ToInt32(lvl.SelectedItems[0].Tag);

            //Insert a new order item in orderinfo table
            //Update the status of table as occupied
            OrderInfoBll oiBll = new OrderInfoBll();

            oiBll.NewOrder(tableId);

            //Update the table image
            lvl.SelectedItems[0].ImageIndex = 1;


            //Insert order info to OrderInfo table

            //Update the status of the table
        }
Esempio n. 26
0
        private void Lv_DoubleClick(object sender, EventArgs e)
        {
            ListView     lv  = sender as ListView;
            ListViewItem lvi = lv.SelectedItems[0];
            //获取餐桌ID
            int          TId   = Convert.ToInt32(lvi.Tag);
            OrderInfoBll oiBll = new OrderInfoBll();
            OrderInfoFrm oiFrm = new OrderInfoFrm();

            if (lvi.ImageIndex == 0)
            {
                //添加订单数据并获取订单ID
                int OId = oiBll.KaiDan(TId);
                oiFrm.Tag      = OId;
                lvi.ImageIndex = 1;
            }
            else
            {
                oiFrm.Tag = oiBll.GetOidByTableId(TId);
            }
            oiFrm.Show();
        }
Esempio n. 27
0
        private void menuOrder_Click(object sender, EventArgs e)
        {
            OrderInfoBll oiBll = new OrderInfoBll();
            //先找到选中的标签页,再找到listView,再找到选中的项,项中存储了餐桌编号,由餐桌编号查到订单编号
            var listView = tabHallInfo.SelectedTab.Controls[0] as ListView;
            var lvTable  = listView.SelectedItems[0];

            if (lvTable.ImageIndex == 0)
            {
                MessageBox.Show("餐桌还未使用,无法结账");
                return;
            }
            int tableId = Convert.ToInt32(lvTable.Tag);
            int orderId = oiBll.GetOidByTableId(tableId);

            //打开付款窗体
            OrderPayFrm formOrderPay = new OrderPayFrm();

            formOrderPay.Tag      = orderId;
            formOrderPay.Refresh += LoadHallInfo;
            formOrderPay.Show();
        }
Esempio n. 28
0
        private void ListView_DoubleClick(object sender, EventArgs e)
        {
            ListView     listView     = sender as ListView;
            ListViewItem listViewItem = listView.SelectedItems[0];
            int          tId          = Convert.ToInt32(listViewItem.Tag);
            OrderInfoBll oiBll        = new OrderInfoBll();

            if (listViewItem.ImageIndex == 0)
            {
                if (oiBll.KaiDan(tId))
                {
                    listViewItem.ImageIndex = 1;
                }
            }
            else
            {
            }
            OrderInfoList oiList = new OrderInfoList();

            oiList.Tag = tId;
            oiList.Show();
        }
Esempio n. 29
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;
            }
        }
Esempio n. 30
0
        private void menuOrder_Click(object sender, EventArgs e)
        {
            //现在到选中的标签页,在找到listview,找到选中的项,相中存储了餐桌编号,由餐桌编号查找到订单编号
            OrderInfoBll oiBll    = new OrderInfoBll();
            ListView     listview = tcHallInfo.SelectedTab.Controls[0] as ListView;

            var lvtable = listview.SelectedItems[0];

            if (lvtable.ImageIndex == 0)
            {
                MessageBox.Show("餐桌还未使用,无法结账.");
                return;
            }

            int tableId = Convert.ToInt32(listview.SelectedItems[0].Tag);
            int orderId = oiBll.GetOrderIdByTableTid(tableId);

            FormOrderPay formOrderPay = new FormOrderPay();

            formOrderPay.Tag      = orderId;
            formOrderPay.Refresh += LoadHallInfo;
            formOrderPay.ShowDialog();
        }
Esempio n. 31
0
        private void ListView_DoubleClick(object sender, EventArgs e)
        {
            var listView = sender as ListView;
            var item     = listView.SelectedItems[0];
            var tableId  = Convert.ToInt32(item.Tag);

            //0状态为空闲 开单
            //1状态为非空闲 加菜
            if (item.ImageIndex == 0)
            {
                //更改餐桌显示状态
                item.ImageIndex = 1;
                var oiBll = new OrderInfoBll();
                oiBll.KaiDan(tableId);
            }

            //显示界面
            var oiList = FormFactory.CreateOrderInfoList();

            oiList.Tag = tableId;
            oiList.Show();
            oiList.Focus();
        }
Esempio n. 32
0
        private void btnXls_Click(object sender, EventArgs e)
        {
            ////因为这个数据导出可能出现意外,并且导出时间可能比较长,所以决定开一个线程去做
            //开了线程之后发现无法弹出保存路径对话框,无奈,于是放弃
            //Control.CheckForIllegalCrossThreadCalls = false;
            //Thread thOutputXls = new Thread(OutputXls);
            //thOutputXls.IsBackground = false;
            //thOutputXls.Start();

            DialogResult result = MessageBox.Show("点击【确定】将把会员数据,菜品数据导出为xls表格!", "数据导出提示!", MessageBoxButtons.OKCancel);

            if (result == DialogResult.OK)
            {
                #region 弹出保存窗口对话框,选择保存路径,创建工作本
                /*******************************************************/
                /*******************************************************/
                /*******************************************************/
                //弹出保存对话框
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Title            = "请选择要保存的路径,默认为桌面";
                sfd.InitialDirectory = @"C:\Users\Administrator\Desktop";
                sfd.Filter           = "xls表格文件|*.xls|所有文件|*.*";
                sfd.ShowDialog();
                //获得保存文件的路径
                string path = sfd.FileName;
                if (path == "")//打开了对话框,但是没有选择地址
                {
                    return;
                }
                //创建工作本
                HSSFWorkbook workbook = new HSSFWorkbook();
                //如果用户选择了保存路径,则开始进行保存操作
                #endregion

                #region 表格样式操作

                //导出:将数据库中的数据,存储到一个excel中
                //2、生成excel
                //生成workbook
                //生成sheet
                //遍历集合,生成行。(一个对象就是一行)
                //根据对象生成单元格,一个属性对应一个单元格


                //样式表
                /*****************************************************************************/
                /******************表格样式操作*********************************************/
                /*****************************************************************************/
                /************/
                //表头标题样式操作(水平垂直居中,黄色背景,字体颜色黑色,微软雅黑加粗,字体大小18)
                /*************/
                var styleTitle = workbook.CreateCellStyle();
                //style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Left;//左对齐
                //style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Right;//右对齐
                styleTitle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//居中
                //垂直居中
                styleTitle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
                //
                //字体样式设置
                HSSFFont fontTitle = (HSSFFont)workbook.CreateFont();
                fontTitle.FontName           = "微软雅黑";  //字体
                fontTitle.FontHeightInPoints = 18;      //字号
                fontTitle.Color  = HSSFColor.Red.Index; //颜色 红色
                fontTitle.IsBold = true;                //加粗
                // font.Underline = NPOI.SS.UserModel.FontUnderlineType.Double;//下划线
                // font.IsStrikeout = true;//删除线
                // font.IsItalic = true;//斜体

                //将字体样式加入表头样式中
                styleTitle.SetFont(fontTitle);

                //背景色设置
                //styleTitle.FillBackgroundColor = HSSFColor.Yellow.Index;//背景色
                styleTitle.FillForegroundColor = HSSFColor.Yellow.Index;                        //前景色
                styleTitle.FillPattern         = NPOI.SS.UserModel.FillPattern.SolidForeground; //填充方式 AltBars


                /****************/
                //表格列头样式操作
                /****************/
                //表格列头样式操作(水平垂直居中,蓝色背景,字体颜色白色,黑体,字体大小16)
                var styleHeader = workbook.CreateCellStyle();
                styleHeader.Alignment           = NPOI.SS.UserModel.HorizontalAlignment.Center;  //水平居中
                styleHeader.VerticalAlignment   = NPOI.SS.UserModel.VerticalAlignment.Center;    //垂直居中
                styleHeader.FillForegroundColor = HSSFColor.Blue.Index;                          //前景色
                styleHeader.FillPattern         = NPOI.SS.UserModel.FillPattern.SolidForeground; //填充方式 AltBars
                HSSFFont fontHeader = (HSSFFont)workbook.CreateFont();
                fontHeader.FontName           = "黑体";                                            //字体
                fontHeader.FontHeightInPoints = 12;                                              //字号
                fontHeader.Color  = HSSFColor.White.Index;                                       //颜色
                fontHeader.IsBold = true;                                                        //加粗
                styleHeader.SetFont(fontHeader);
                /*****************/
                /****************/


                /*****************/
                //*表脚样式*//
                /*****************/
                var styleFoot = workbook.CreateCellStyle();
                styleFoot.Alignment           = NPOI.SS.UserModel.HorizontalAlignment.Center;  //水平居中
                styleFoot.VerticalAlignment   = NPOI.SS.UserModel.VerticalAlignment.Center;    //垂直居中
                styleFoot.FillForegroundColor = HSSFColor.Blue.Index;                          //前景色
                styleFoot.FillPattern         = NPOI.SS.UserModel.FillPattern.SolidForeground; //填充方式 AltBars
                HSSFFont fontFoot = (HSSFFont)workbook.CreateFont();
                fontFoot.FontName           = "黑体";                                            //字体
                fontFoot.FontHeightInPoints = 10;                                              //字号
                fontFoot.Color  = HSSFColor.White.Index;                                       //颜色
                fontFoot.IsBold = true;                                                        //加粗
                styleFoot.SetFont(fontFoot);
                /*****************/
                /****************/

                /*****************/
                //*表格正文样式*//
                /*****************/
                var styleBody = workbook.CreateCellStyle();
                styleBody.Alignment         = NPOI.SS.UserModel.HorizontalAlignment.Center; //水平居中
                styleBody.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;   //垂直居中
                HSSFFont fontBody = (HSSFFont)workbook.CreateFont();
                fontBody.FontName           = "宋体";                                         //字体
                fontBody.FontHeightInPoints = 12;                                           //字号
                fontBody.Color  = HSSFColor.Black.Index;                                    //颜色
                fontBody.IsBold = true;                                                     //加粗
                styleBody.SetFont(fontBody);
                /*****************/
                /****************/

                /******************************************************************************/
                /***************************表格样式操作***************************************/
                /*****************************************************************************/
                #endregion

                #region 会员信息表存储
                /***********************创建工作表,在一个工作本里面可以有多张表*************************/
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/

                /*********************************************/
                /**************会员信息表*********************/
                /*********************************************/

                //1、查询数据
                //保存会员信息表
                MemberInfoBll meiBll         = new MemberInfoBll();
                MemberInfo    mei            = new MemberInfo();
                var           listMemberInfo = meiBll.GetList(mei);

                //创建工作表
                //NPOI.SS.UserModel.ISheet sheet = workbook.CreateSheet("管理员");
                ISheet sheet = workbook.CreateSheet("会员信息表");


                //创建标题行
                IRow row = sheet.CreateRow(0);
                //合并单元格
                sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 5));
                ICell cellTitle = row.CreateCell(0);
                cellTitle.SetCellValue("会员信息记录表");
                row.HeightInPoints = 22;//表头标题行高
                //应用样式
                cellTitle.CellStyle = styleTitle;



                //创建列名称
                IRow row1 = sheet.CreateRow(1);
                row1.HeightInPoints = 20;//表列头行高
                //创建单元格
                //设置名称
                //应用样式
                //设置列的宽度
                //SetColumnWidth()方法有两个参数,第一个是列的索引,从0开始。注意第二个参数,是以1/256为单位。
                ICell cellId = row1.CreateCell(0);
                cellId.SetCellValue("编号");
                cellId.CellStyle = styleHeader;
                sheet.SetColumnWidth(0, 10 * 256);

                ICell cellName = row1.CreateCell(1);
                cellName.SetCellValue("会员名称");
                cellName.CellStyle = styleHeader;
                sheet.SetColumnWidth(1, 20 * 256);

                ICell cellPhone = row1.CreateCell(2);
                cellPhone.SetCellValue("会员手机号");
                cellPhone.CellStyle = styleHeader;
                sheet.SetColumnWidth(2, 25 * 256);

                ICell cellMoney = row1.CreateCell(3);
                cellMoney.SetCellValue("会员余额");
                cellMoney.CellStyle = styleHeader;
                sheet.SetColumnWidth(3, 18 * 256);

                ICell cellType = row1.CreateCell(4);
                cellType.SetCellValue("会员类型");
                cellType.CellStyle = styleHeader;
                sheet.SetColumnWidth(4, 20 * 256);

                ICell cellDiscount = row1.CreateCell(5);
                cellDiscount.SetCellValue("享受折扣");
                cellDiscount.CellStyle = styleHeader;
                sheet.SetColumnWidth(5, 18 * 256);


                //遍历集合,生成行
                int index = 2;//索引,0,1是表头。所以从2开始。
                foreach (var item in listMemberInfo)
                {
                    //创建下面每行单元格的值
                    var row2 = sheet.CreateRow(index++);

                    var cell0 = row2.CreateCell(0);
                    cell0.SetCellValue(item.MId);
                    cell0.CellStyle = styleBody;

                    var cell1 = row2.CreateCell(1);
                    cell1.SetCellValue(item.MName);

                    var cell2 = row2.CreateCell(2);
                    cell2.SetCellValue(item.MPhone);

                    var cell3 = row2.CreateCell(3);
                    cell3.SetCellValue(item.MMoney.ToString());

                    var cell4 = row2.CreateCell(4);
                    cell4.SetCellValue(item.TypeTitle);

                    var cell5 = row2.CreateCell(5);
                    cell5.SetCellValue((item.TypeDiscount * 10).ToString() + "折");
                }

                /**表页脚**/
                //创建标题行
                IRow row3 = sheet.CreateRow(index);
                //合并单元格
                sheet.AddMergedRegion(new CellRangeAddress(index, index, 0, 5));
                ICell cellFoot = row3.CreateCell(0);
                cellFoot.SetCellValue("欢迎使用!如有建议或需求反馈可以联系梦雨客服QQ:1517680389");
                row3.HeightInPoints = 22;//表头标题行高
                //应用样式
                cellFoot.CellStyle = styleFoot;
                /**********/

                /*********************************************/
                /**************会员信息表*********************/
                /*********************************************/
                #endregion

                #region 菜品信息表储存
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/

                /*********************************************/
                /**************菜品信息表*********************/
                /*********************************************/

                //关于菜品信息表,需要显示基本的菜品信息,这里我是想加入每个菜品在一段时间内的点菜频率的
                //感觉有了点菜频率统计,还是蛮使用
                //只是一直没想出来更好的统计方案,暂时也就没有做,现在就只是单纯的输出吧

                //1.查询数据
                DishInfoBll diBll        = new DishInfoBll();
                DishInfo    di           = new DishInfo();
                var         listDishInfo = diBll.GetList(di);

                //2.创建工作表
                ISheet sheetDish = workbook.CreateSheet("菜品信息表");


                //3.创建标题行
                IRow rowDish0 = sheetDish.CreateRow(0);
                //合并单元格
                sheetDish.AddMergedRegion(new CellRangeAddress(0, 0, 0, 3));
                ICell cellDishTitle = rowDish0.CreateCell(0);
                cellDishTitle.SetCellValue("菜品信息记录表");
                rowDish0.HeightInPoints = 22;//表头标题行高
                //应用样式
                cellDishTitle.CellStyle = styleTitle;



                //4.创建列名称
                IRow rowDish1 = sheetDish.CreateRow(1);
                rowDish1.HeightInPoints = 20;//表列头行高
                //创建单元格
                //设置名称
                //应用样式
                //设置列的宽度
                //SetColumnWidth()方法有两个参数,第一个是列的索引,从0开始。注意第二个参数,是以1/256为单位。
                ICell cellDishId = rowDish1.CreateCell(0);
                cellDishId.SetCellValue("编号");
                cellDishId.CellStyle = styleHeader;
                sheetDish.SetColumnWidth(0, 10 * 256);

                ICell cellNameDishTitle = rowDish1.CreateCell(1);
                cellNameDishTitle.SetCellValue("菜品名称");
                cellNameDishTitle.CellStyle = styleHeader;
                sheetDish.SetColumnWidth(1, 30 * 256);

                ICell cellDishType = rowDish1.CreateCell(2);
                cellDishType.SetCellValue("所属菜系");
                cellDishType.CellStyle = styleHeader;
                sheetDish.SetColumnWidth(2, 25 * 256);

                ICell cellDishPrice = rowDish1.CreateCell(3);
                cellDishPrice.SetCellValue("菜品单价");
                cellDishPrice.CellStyle = styleHeader;
                sheetDish.SetColumnWidth(3, 18 * 256);


                //遍历集合,生成行
                int indexDish = 2;//索引,0,1是表头。所以从2开始。
                foreach (var item in listDishInfo)
                {
                    //创建下面每行单元格的值
                    var rowDish2 = sheetDish.CreateRow(indexDish++);

                    var cell0 = rowDish2.CreateCell(0);
                    cell0.SetCellValue(item.DId);
                    cell0.CellStyle = styleBody;

                    var cell1 = rowDish2.CreateCell(1);
                    cell1.SetCellValue(item.DTitle);

                    var cell2 = rowDish2.CreateCell(2);
                    cell2.SetCellValue(item.TypeTitle);

                    var cell3 = rowDish2.CreateCell(3);
                    cell3.SetCellValue(item.DPrice.ToString() + "元");
                }

                /**表页脚**/
                //创建标题行
                IRow rowDish3 = sheetDish.CreateRow(indexDish);
                //合并单元格
                sheetDish.AddMergedRegion(new CellRangeAddress(indexDish, indexDish, 0, 3));
                ICell cellDishFoot = rowDish3.CreateCell(0);
                cellDishFoot.SetCellValue("欢迎使用!如有建议或需求反馈可以联系梦雨客服QQ:1517680389");
                rowDish3.HeightInPoints = 22;//表头标题行高
                //应用样式
                cellDishFoot.CellStyle = styleFoot;

                /*********************************************/
                /**************菜品信息表*********************/
                /*********************************************/
                #endregion

                #region 点菜记录表存储
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/

                /*********************************************/
                /**************点菜记录表*********************/
                /*********************************************/
                //这个主要是用来存储点菜记录的,我觉得每个酒店都应该记录一下,加入发生食品中毒等意外事件,可以查一查,做个参考啥的
                //然后也能看出每天生意的大概情况,因为我自己的交接班功能,还没有一个整体方案,所以这个表还是可以参考的
                //另外需要注意的是,如果客户先点击了缓存清理,那么只能可能就没有数据了。缓存清理会把所有已经付钱的订单全部删除。
                //所以需要在缓存清理按钮上增加窗口弹出提示!

                //1.查询数据
                OrderInfoBll oiBll         = new OrderInfoBll();
                var          listOrderInfo = oiBll.GetOrderInfo();

                //2.创建工作表
                ISheet sheetOrder = workbook.CreateSheet("下单信息表");


                //3.创建标题行
                IRow rowOrder0 = sheetOrder.CreateRow(0);
                //合并单元格
                sheetOrder.AddMergedRegion(new CellRangeAddress(0, 0, 0, 4));
                ICell cellOrderTitle = rowOrder0.CreateCell(0);
                cellOrderTitle.SetCellValue("点菜下单信息记录表");
                rowOrder0.HeightInPoints = 22;//表头标题行高
                //应用样式
                cellOrderTitle.CellStyle = styleTitle;

                //4.创建列名称
                IRow rowOrder1 = sheetOrder.CreateRow(1);
                rowOrder1.HeightInPoints = 20;//表列头行高
                //创建单元格
                //设置名称
                //应用样式
                //设置列的宽度
                //SetColumnWidth()方法有两个参数,第一个是列的索引,从0开始。注意第二个参数,是以1/256为单位。
                ICell cellOrderId = rowOrder1.CreateCell(0);
                cellOrderId.SetCellValue("编号");
                cellOrderId.CellStyle = styleHeader;
                sheetOrder.SetColumnWidth(0, 10 * 256);

                ICell cellOrderDate = rowOrder1.CreateCell(1);
                cellOrderDate.SetCellValue("下单时间");
                cellOrderDate.CellStyle = styleHeader;
                sheetOrder.SetColumnWidth(1, 30 * 256);

                ICell cellOrderMember = rowOrder1.CreateCell(2);
                cellOrderMember.SetCellValue("会员姓名");
                cellOrderMember.CellStyle = styleHeader;
                sheetOrder.SetColumnWidth(2, 15 * 256);

                ICell cellOrderPhone = rowOrder1.CreateCell(3);
                cellOrderPhone.SetCellValue("会员手机号");
                cellOrderPhone.CellStyle = styleHeader;
                sheetOrder.SetColumnWidth(3, 25 * 256);

                ICell cellOrderMoney = rowOrder1.CreateCell(4);
                cellOrderMoney.SetCellValue("菜单总金额");
                cellOrderMoney.CellStyle = styleHeader;
                sheetOrder.SetColumnWidth(4, 15 * 256);

                //遍历集合,生成行
                int indexOrder = 2;//索引,0,1是表头。所以从2开始。
                foreach (var item in listOrderInfo)
                {
                    //创建下面每行单元格的值
                    var rowOrder2 = sheetOrder.CreateRow(indexOrder++);

                    var cell0 = rowOrder2.CreateCell(0);
                    cell0.SetCellValue(item.OId);
                    cell0.CellStyle = styleBody;

                    var cell1 = rowOrder2.CreateCell(1);
                    cell1.SetCellValue(item.ODate.ToString());

                    var cell2 = rowOrder2.CreateCell(2);
                    cell2.SetCellValue(item.MemberName);

                    var cell3 = rowOrder2.CreateCell(3);
                    cell3.SetCellValue(item.MemberPhone);

                    var cell4 = rowOrder2.CreateCell(4);
                    cell4.SetCellValue(item.OMoney.ToString() + "元");
                }

                /**表页脚**/
                //创建标题行
                IRow rowOrder3 = sheetOrder.CreateRow(indexOrder);
                //合并单元格
                sheetOrder.AddMergedRegion(new CellRangeAddress(indexOrder, indexOrder, 0, 4));
                ICell cellOrderFoot = rowOrder3.CreateCell(0);
                cellOrderFoot.SetCellValue("欢迎使用!如有建议或需求反馈可以联系梦雨客服QQ:1517680389");
                rowOrder3.HeightInPoints = 22;//表头标题行高
                //应用样式
                cellOrderFoot.CellStyle = styleFoot;

                /*********************************************/
                /**************点菜记录表*********************/
                /*********************************************/

                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/
                /******************************************************************************************************************************************/
                #endregion

                #region 写入文件保存
                //是否成功标志
                bool flag = false;
                try
                {
                    FileStream file = new FileStream(path, FileMode.Create, FileAccess.Write);
                    workbook.Write(file);
                    file.Dispose();//使用完要释放资源,或者使用using(){}
                    flag = true;
                }
                catch
                {
                    MessageBox.Show("保存出错!\n请关闭其他xls文件,再重试!");
                    flag = false;
                }
                /*******************************************************/
                if (flag)
                {
                    //操作完成,导出成功提示
                    MessageBox.Show("数据导出成功!导出路径如下:\n" + path + "\n敬请及时查收!");
                }
                #endregion
            }
        }
Esempio n. 33
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);
         //上面就没有必要显示什么消息了。
     }
 }
Esempio n. 34
0
 public FrmOrderPay()
 {
     InitializeComponent();
     oiBll = new OrderInfoBll();
 }