예제 #1
0
        private void btReturn_Click(object sender, EventArgs e)
        {
            //判空
            if (txtReturnCardno.Text == "")
            {
                MessageBox.Show("请输入退卡卡号", "提示");
                txtReturnCardno.Focus();
                return;
            }
            //正在上机的卡不可退
            Entity.online online = new Entity.online();
            online.CardNo = Convert.ToInt16(txtReturnCardno.Text);
            Facade.IsOnlineFacade onlineFac = new Facade.IsOnlineFacade();
            IList <Entity.online> lonline   = onlineFac.IsOnline(online);

            if (lonline.Count > 0)
            {
                MessageBox.Show("该卡正在上机,下机后可退卡!", "提示");
                return;
            }
            else
            {
                //有卡,正在使用可以退,退的意思修改使用状态
                Entity.Card card = new Entity.Card();
                card.CardNo = Convert.ToInt16(txtReturnCardno.Text);

                Facade.QuerIesitCardno Queryisexit   = new Facade.QuerIesitCardno();
                IList <Entity.Card>    QueryCardExit = new List <Entity.Card>();
                QueryCardExit = Queryisexit.QuerIsexitcardno(card);
                if (QueryCardExit.Count == 0)
                {
                    MessageBox.Show("没有该卡号,请核对后退卡!", "提示");
                    txtReturnCardno.Text = "";
                    txtReturnCardno.Focus();
                    return;
                }
                else
                {
                    //将退卡的信息,给到实体returncard,添加
                    Entity.ReturnCard returnCard = new Entity.ReturnCard();
                    returnCard.CardNo      = QueryCardExit[0].CardNo;
                    returnCard.UserID      = QueryCardExit[0].UserID;
                    returnCard.ReturnMoney = QueryCardExit[0].Money;
                    returnCard.IsCheck     = "未结账";

                    Facade.AddChargeAndReturn addReturn = new Facade.AddChargeAndReturn();
                    addReturn.addReturn(returnCard);

                    //设置卡号为未使用
                    Facade.UpdateMoneyFacade modifyState = new Facade.UpdateMoneyFacade();
                    modifyState.ModifyState(card);

                    MessageBox.Show("退卡成功!", "提示");
                    txtReturnMoney.Text = QueryCardExit[0].Money.ToString();
                    return;
                }
            }
        }
예제 #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);
            }
        }