private void changeToLeaveEarly_Click(object sender, EventArgs e) { //先把Briefcase找出来 //classBriefcase = BriefcaseControl.GetBriefcase (kkno); //然后把当前的学号找出来 var studentId = Convert.ToString(studentsGridView.SelectedRows.First().Cells["学号"].Value); //然后更改当前的上课状态 显示的上课状态哦 dp_ChangeDisplayStatus(sender); //然后获取点名表 var dmTable = OfflineDataControl.GetDmDatatable(kkno, skno); //改点名表里的记录 这里改的就是数据了. OfflineDataControl.ChangeDmRecord(ref dmTable, studentId, 2, DateTime.Now, 1); //存点名表. BriefcaseControl.SaveDmTable(classBriefcase, dmTable); }
/// <summary> /// 当指纹仪找到这个人的时候,程序需要调用List中的对象的该函数来进行签到操作. /// 将签到时间传进来 该函数会自己判断是否迟到 并写入Briefcase中. /// </summary> /// <param name="arriveTime">签到时间</param> public void SignIn(DateTime arriveTime) { var isLate = (arriveTime > ExpectedArriveTime); //判断是否迟到 并将到课状态更改成指定的状态 RollCallStatus = (short)(isLate ? 1 : 0); ArriveTime = arriveTime; /****************************************************************************************************************************/ //把标记该门课的表取出来 //var classBriefcase = BriefcaseControl.GetBriefcase(kkno); //然后获取点名表 //var dmTable = OfflineDataControl.GetDmDatatable ( kkno, skno ); //2015年5月8日 效率问题, 这里的从硬盘中取表操作已经被替换了. 如果需要拿Briefcase和点名表,请直接去Student.Dmtable和Student.ClassBriefcase中取. /**************************************************************************************************************************/ //改点名表里的记录 这里改的就是数据了.注意 这里改的是Student中的静态变量. OfflineDataControl.ChangeDmRecord(ref DmTable, StudentId, RollCallStatus, arriveTime, RollCallTimes); //存点名表.注意 这里改的是Student中的静态变量. BriefcaseControl.SaveDmTable(ClassBriefcase, DmTable); }