public void countmoney()
        {
            //此方法用于计算用户租赁场地的花销
            //获取listview中的开始时间和结束时间,计算时间差。
            //用户花的钱 = 时间差*对应场地单价+(违约金)
            //违约金 = (时间差*对应场地单价)*0.3
            //是否需要缴纳违约金看用户的BreakBJ标记是否为YES 为YES,加收,不为YES,不收

            //先根据选取的场地id获取对应的场地价格
            Yard jiage = new Yard();
            chloe_control_all chloe_price = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True");

            jiage = chloe_price.catchprice(comboBox1.SelectedValue.ToString()); // ()调用的是控件comboBox的值,即场地id
            double cdprice;

            cdprice = jiage.Price;
            //再根据场地id获取对应列的开始时间和结束时间
            Start             waailu     = new Start();
            String            chalang    = Start.CUser;
            Booking           leihou     = new Booking();
            chloe_control_all chloe_time = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True");

            leihou = chloe_time.See_BOOK_CD(comboBox1.SelectedValue.ToString());
            //开始时间、结束时间、中午、下午(用于计算和转换)
            String START, EXIT, MID, AFT;

            START = leihou.OpenTime.ToString();
            EXIT  = leihou.CloseTime.ToString();
            MID   = mid;
            AFT   = aft;
            DateTime dt1 = Convert.ToDateTime(START);
            DateTime dt2 = Convert.ToDateTime(EXIT);
            DateTime dt3 = Convert.ToDateTime(MID);
            DateTime dt4 = Convert.ToDateTime(AFT);
            TimeSpan ts1 = new TimeSpan(dt1.Ticks);
            TimeSpan ts2 = new TimeSpan(dt2.Ticks);
            TimeSpan ts3 = new TimeSpan(dt3.Ticks);
            TimeSpan ts4 = new TimeSpan(dt4.Ticks);
            //计算时间差(然后计算两个TimeSpan的差)
            //时间计算还得区分中午12:00-下午14:00这两个小时的休息时间
            //如果选择的开始时间小于等于12:00以及结束的时间大于等于14:00,实际的消费时间为(12:00-开始时间)+ (结束时间-14:00)
            String ALLtime; //计算出来的时间差

            if (DateTime.Compare(dt1, dt3) <= 0 && DateTime.Compare(dt2, dt4) >= 0)
            {
                TimeSpan ts5 = ts1.Subtract(ts3).Duration();         //(12:00-开始时间)
                TimeSpan ts6 = ts2.Subtract(ts4).Duration();         //(结束时间-14:00)
                TimeSpan ts7 = ts5.Add(ts6).Duration();              //实际的消费时间
                double   t   = ts7.TotalHours / Convert.ToDouble(1); //将TimeSpan转换类型,便于后期计算费用,精确至小数点后两位
                double   t1  = Convert.ToDouble(t);
                ALLtime = t1.ToString();
            }
            else
            {
                TimeSpan ts = ts1.Subtract(ts2).Duration();
                double   m  = ts.TotalHours / Convert.ToDouble(1);
                double   m1 = Convert.ToDouble(m);
                ALLtime = m1.ToString();
            }
            //判断用户标记,计算不同的钱
            //Visa代表违约用户的总金额 VISA代表正常用户的总金额
            //MMMM代表总金额
            double Visa, VISA;
            int    BJ_check_result;

            BJ_check_result = chloe_time.USER_CHECK(chalang);
            if (BJ_check_result == 0) //用户违约用户,需收取违约金
            {
                Visa = double.Parse(ALLtime) * cdprice * 1.3;
                MMMM = Visa.ToString();
            }
            else
            {
                VISA = double.Parse(ALLtime) * cdprice;
                MMMM = VISA.ToString();
            }
        }
        private void button1_Click_1(object sender, EventArgs e)
        {
            //选择好场地id和日期后,点击支付按钮,先判断其有无奖励或者违规标记,有奖励,弹窗提示免单,然后将该条数据保存在PAY表,然后删除该条数据
            //将用户的免单标记值修改为NO
            //有违规,弹窗显示其为存在违规,需加收违约金,然后弹窗显示支付金额,进入扫码支付界面进行支付,正常付钱,将数据写进PAY表,删除Booking表中该条数据
            //支付不正常,将数据写进PAY表,Booking表对应数据不删除
            //返回时,还原其标记值
            //为普通用户,弹窗显示支付金额,进入扫码支付界面进行支付,后面如上。

            //判断用户
            Start             NE21       = new Start();
            String            NE22       = Start.CUser;
            chloe_control_all chloe_obj1 = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True");
            Booking           BigBang    = new Booking();

            BigBang = chloe_obj1.See_BOOK_CD(comboBox1.SelectedValue.ToString());
            int BJ_check_result;

            BJ_check_result = chloe_obj1.User_checkkkkk(NE22);
            if (BJ_check_result == 3)   //该值为3时是奖励用户
            {
                MessageBox.Show("您为奖励用户,已为您本次消费免单!");
                String   pay_id, pay_name, yard_id, begin_time, over_time, book_time, real_time, pay_money;
                DateTime pay_time;
                pay_id     = BigBang.Book_personid.ToString();
                pay_name   = BigBang.Book_person.ToString();
                yard_id    = comboBox1.SelectedValue.ToString();
                begin_time = BigBang.OpenTime.ToString();
                over_time  = BigBang.CloseTime.ToString();
                book_time  = BigBang.BookDate.ToString();
                real_time  = BigBang.REALDate.ToLongDateString().ToString();
                pay_money  = (Paymoney).Trim().ToString();
                pay_time   = DateTime.Now;
                chloe_control_all chloe_obj2 = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True");
                chloe_obj2.UserPay(pay_id, pay_name, yard_id, begin_time, over_time, book_time, real_time, pay_money, pay_time);
                Booking           del       = new Booking();
                User_BJ           bj        = new User_BJ();
                chloe_control_all chloe_del = new chloe_control_all("Data Source=DESKTOP-O4C25KM;Initial Catalog=场馆预约系统;Integrated Security=True");
                chloe_obj2.QUXIAO_YD(comboBox1.SelectedValue.ToString());
                chloe_del.XG_BJ(NE22);
            }
            else
            {
                //违规用户
                int bj_result;
                bj_result = chloe_obj1.USER_CHECK(NE22);
                if (bj_result == 0)
                {
                    countmoney();
                    MessageBox.Show("系统检测到您为违约用户,需在本次消费中收取违约金");
                    MessageBox.Show("您需要支付:" + MMMM.ToString() + "元");
                    Count_pay2 br = new Count_pay2();
                    CHANGDI = comboBox1.SelectedValue.ToString();
                    this.Hide();
                    br.Show();
                }
                //正常用户
                countmoney();
                MessageBox.Show("您需要支付:" + MMMM.ToString() + "元");
                Count_pay2 nor = new Count_pay2();
                CHANGDI = comboBox1.SelectedValue.ToString();
                this.Hide();
                nor.Show();
            }
        }