예제 #1
0
        private void 全部ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (dataGridView1.RowCount < 1)
            {
                MessageBox.Show("当前没有人员上机!", "提示");
            }
            else
            {
                for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    //根据卡号,找到正在上机的卡号,给line实体赋值
                    Entity.online online = new Entity.online();
                    online.CardNo = Convert.ToInt16(dataGridView1.Rows[i].Cells[0].Value);
                    Facade.IsOnlineFacade Isonline = new Facade.IsOnlineFacade();
                    IList <Entity.online> lonline  = new List <Entity.online>();
                    lonline = Isonline.IsOnline(online);

                    //将line实体的值补全
                    Entity.line line = new Entity.line();
                    line.CardNo    = lonline[0].CardNo; //之前line表有的一些参数,根据这些信息找到缺失信息的表
                    line.LoginDate = lonline[0].ondate;
                    line.LoginTime = lonline[0].ontime;
                    line.Status    = "强制下机";

                    Facade.AddLineFacade addLineOff = new Facade.AddLineFacade();
                    addLineOff.addLineOff(line);


                    //计算金额,显示消费时间和金额
                    Facade.CountMoneyFacade countMoneyfacade = new Facade.CountMoneyFacade();
                    IList <Entity.line>     LineAll          = new List <Entity.line>();
                    LineAll = countMoneyfacade.CountMoney(line);

                    //将正在上机表下机
                    Facade.deleteFacade deleteOnlineFacade = new Facade.deleteFacade();
                    deleteOnlineFacade.DeleteOnline(online);
                }

                MessageBox.Show("下机成功!", "提示");
                this.online_infoTableAdapter.Fill(this.onlineDataSet.online_info);
            }
        }
예제 #2
0
        /// <summary>
        /// 下机
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            //给实体online装参数--正在上机才可以下机
            Entity.online online = new Entity.online();
            online.CardNo = Convert.ToInt16(txtCardno.Text);
            Facade.IsOnlineFacade Isonline = new Facade.IsOnlineFacade();
            IList <Entity.online> lonline  = new List <Entity.online>();

            lonline = Isonline.IsOnline(online);

            if (lonline.Count == 0)
            {
                MessageBox.Show("该卡号下没有学生上机,请选择正在上机的卡号!");
                txtCardno.Text = "";
                txtCardno.Focus();
            }
            else
            {
                //将剩余参数带给line实体
                //补充,这里给line传入金额--2017-02-11
                Entity.Card card = new Entity.Card();
                //卡号
                card.CardNo = Convert.ToInt16(txtCardno.Text.Trim());
                // Facade.QuerIesitCardno queryExitCardno = new Facade.QuerIesitCardno();
                Facade.QueyExitCardno queryExitCardno = new Facade.QueyExitCardno();
                IList <Entity.Card>   lCard           = new List <Entity.Card>();
                lCard = queryExitCardno.queryExitCardno(card);
                Entity.line line = new Entity.line();
                //line.OffDate =Convert .ToDateTime (DateTime.Now.Date.ToShortDateString ());
                //line.OffTime = TimeSpan.Parse(DateTime.Now.ToLongTimeString());
                //line.ConsumeTime =Convert.ToInt16 (lbConsumer.Text);  //不合理,为啥,因为可以让好多人上机,但是呢?只能显示最后一个上机的人的时间

                line.CardNo    = lonline[0].CardNo; //之前line表有的一些参数,根据这些信息找到缺失信息的表
                line.LoginDate = lonline[0].ondate;
                line.LoginTime = lonline[0].ontime;
                line.Money     = lCard[0].Money;
                line.Status    = "正常下机";

                Facade.AddLineFacade addLineOff = new Facade.AddLineFacade();
                addLineOff.addLineOff(line);

                //计算金额,显示消费时间和金额
                Facade.CountMoneyFacade countMoneyfacade = new Facade.CountMoneyFacade();
                IList <Entity.line>     LineAll          = new List <Entity.line>();
                LineAll = countMoneyfacade.CountMoney(line);

                txtConsumeMoney.Text = LineAll[0].ConsumeMoney.ToString();
                txtConsumeTime.Text  = LineAll[0].ConsumeTime.ToString();
                txtName.Text         = LineAll[0].StudentName;
                txtoffDate.Text      = LineAll[0].OffDate.ToString();
                txtoffTime.Text      = LineAll[0].OffTime.ToString();
                txtONdate.Text       = LineAll[0].OffDate.ToString();
                txtOntime.Text       = LineAll[0].LoginTime.ToString();
                txtSex.Text          = LineAll[0].sex;
                txtStudentNo.Text    = LineAll[0].StudentNo.ToString();
                txtType.Text         = LineAll[0].Status;

                //从card实体中获得消费的剩余金额,同时更新card表
                Entity.Card Card = new Entity.Card();
                Card.CardNo = Convert.ToInt16(txtCardno.Text);
                IList <Entity.Card> LCard = new List <Entity.Card>();

                Facade.StudentMoneyFacade CardMoney = new Facade.StudentMoneyFacade();
                LCard = CardMoney.StudentMoney(Card);

                //余额的填充
                txtMoney.Text = (Convert.ToInt16(LCard[0].Money) - Convert.ToInt16(LineAll[0].ConsumeMoney)).ToString(); //////


                //更新表card
                Card.Money = Convert.ToInt16(txtMoney.Text);
                Facade.UpdateMoneyFacade UpdateMoney = new Facade.UpdateMoneyFacade();
                UpdateMoney.UpdateMoney(Card);

                //判断余额,如果余额花完的话需要充点钱
                IList <Entity.Card> IfCardmomey = new List <Entity.Card>();
                IfCardmomey = CardMoney.StudentMoney(Card);
                if (IfCardmomey[0].Money < 0)
                {
                    MessageBox.Show("您需要充值现金" + IfCardmomey[0].Money.ToString() + "元!");
                }
                txtMoney.Text = IfCardmomey[0].Money.ToString();

                //将正在上机表下机
                Facade.deleteFacade deleteOnlineFacade = new Facade.deleteFacade();
                deleteOnlineFacade.DeleteOnline(online);
            }
        }