/// <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();
                    }
                }
            }
        }