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