public static void addHandon(int seatId) { DateTime tm_now = DateTime.Now; TimeSpan createtimespan = new TimeSpan(m_QustionTime.Ticks); TimeSpan nowtimespan = new TimeSpan(tm_now.Ticks); TimeSpan timespan = nowtimespan.Subtract(createtimespan).Duration(); int timeDiff = timespan.Minutes * 60 + timespan.Seconds; //???Repeated??? int uid = Global.getUidBySeat(seatId); StudentSecond ss = new StudentSecond(); ss.uid = uid; ss.second = timeDiff; m_secondList.Add(ss); StudentActive sa = new StudentActive(); sa.uid = uid; sa.handon = 1; sa.xiti = 0; sa.second = timeDiff; //------------------------------------------- addStudentActive(sa); }
private static void addStudentActive(StudentActive sa) { bool bFound = false; foreach (StudentActive _sa in m_activeList) { if (_sa.uid == sa.uid) { _sa.second += sa.second; _sa.handon += sa.handon; _sa.xiti += sa.xiti; bFound = true; break; } } if (!bFound) { m_activeList.Add(sa); } }
//最需要,最活跃的,最沉默的,反应最快的,反应最慢的 #region 新的课堂 public static void InitLesson() { int currentId = Global.getLessonID(); if (m_lessonid != currentId || currentId == 0) { //FormDraw.ClearRecord(); m_summary.clear(); m_rewardList = null; m_activeList = null; m_rewardTimeList = null; m_callnameTimeList = null; m_xitistat = null; m_stat = null; m_lessonid = Global.getLessonID(); m_rewardList = new List <StudentReward>(); m_activeList = new List <StudentActive>(); m_rewardTimeList = new List <StudentLasttimeReward>(); m_callnameTimeList = new List <StudentLasttimeCallname>(); m_xitistat = new XitiStat(); m_stat = new Stat(); string resp = Common.getLastTime(); Log.Info("getLastTime: " + resp); //{"LastTime_Callname":[{"uid":3918,"uptime":"2016-07-25 17:03:07"},{"uid":3919,"uptime":"2016-06-03 15:40:16"},{"uid":3920,"uptime":"2016-06-02 14:15:31"},{"uid":3921,"uptime":"2016-04-28 15:40:28"},{"uid":3922,"uptime":"2016-05-23 16:51:48"},{"uid":3923,"uptime":"2016-05-23 17:39:24"},{"uid":3924,"uptime":"2016-09-18 19:37:06"},{"uid":3925,"uptime":"2016-09-18 19:37:06"},{"uid":3927,"uptime":"2016-05-23 16:51:48"},{"uid":3928,"uptime":"2016-05-24 17:06:37"},{"uid":3929,"uptime":"2016-05-23 17:02:52"},{"uid":3930,"uptime":"2016-05-23 16:51:48"},{"uid":3931,"uptime":"2016-05-24 16:33:35"},{"uid":3932,"uptime":"2016-09-06 12:23:01"},{"uid":3933,"uptime":"2016-06-02 19:13:02"},{"uid":3934,"uptime":"2016-06-02 14:15:32"},{"uid":3935,"uptime":"2016-06-02 14:16:25"},{"uid":3936,"uptime":"2016-06-02 14:16:23"},{"uid":3937,"uptime":"2016-09-06 12:24:03"},{"uid":3938,"uptime":"2016-09-06 12:23:00"},{"uid":3939,"uptime":"2016-05-23 16:51:48"},{"uid":3940,"uptime":"2016-05-23 17:02:52"},{"uid":3941,"uptime":"2016-08-05 16:49:28"},{"uid":3942,"uptime":"2016-09-06 12:22:42"},{"uid":3943,"uptime":"2016-05-23 21:11:17"},{"uid":3944,"uptime":"2016-06-03 16:45:21"},{"uid":3945,"uptime":"2016-06-03 16:56:01"},{"uid":3946,"uptime":"2016-06-02 14:16:49"},{"uid":3947,"uptime":"2016-05-23 21:11:17"},{"uid":3948,"uptime":"2016-09-06 12:24:00"},{"uid":3949,"uptime":"2016-09-06 12:24:02"},{"uid":3950,"uptime":"2016-08-12 18:23:26"},{"uid":3951,"uptime":"2016-06-03 15:36:47"},{"uid":3952,"uptime":"2016-06-16 22:34:02"},{"uid":3953,"uptime":"2016-06-02 14:15:36"},{"uid":3954,"uptime":"2016-09-06 12:24:01"},{"uid":4214,"uptime":"2016-09-06 12:22:59"},{"uid":4215,"uptime":"2016-09-06 12:23:03"},{"uid":4216,"uptime":"2016-06-03 16:55:55"},{"uid":4217,"uptime":"2016-05-23 17:39:09"},{"uid":4218,"uptime":"2016-05-23 17:17:21"},{"uid":4219,"uptime":"2016-09-06 12:22:07"},{"uid":4220,"uptime":"2016-05-24 17:06:37"},{"uid":4221,"uptime":"2016-05-23 16:51:48"},{"uid":4222,"uptime":"2016-06-03 16:02:50"},{"uid":4223,"uptime":"2016-05-23 17:39:09"},{"uid":4224,"uptime":"2016-06-03 16:02:54"},{"uid":4225,"uptime":"2016-09-06 12:22:08"},{"uid":4226,"uptime":"2016-06-03 16:45:22"},{"uid":4227,"uptime":"2016-05-23 17:03:31"},{"uid":4228,"uptime":"2016-05-23 16:51:48"},{"uid":4229,"uptime":"2016-06-03 15:58:03"},{"uid":4230,"uptime":"2016-05-23 17:03:31"},{"uid":4231,"uptime":"2016-05-23 16:51:48"},{"uid":4232,"uptime":"2016-05-23 16:51:48"},{"uid":4233,"uptime":"2016-05-23 17:02:52"},{"uid":4234,"uptime":"2016-05-23 16:51:48"},{"uid":4235,"uptime":"2016-06-02 14:15:41"},{"uid":4236,"uptime":"2016-05-23 16:51:48"}],"LastTime_Reward":[{"uid":3918,"uptime":"2016-07-25 17:03:08"},{"uid":3919,"uptime":"2016-06-02 14:19:21"},{"uid":3925,"uptime":"2016-09-06 12:24:05"},{"uid":3932,"uptime":"2016-09-06 12:23:02"},{"uid":3933,"uptime":"2016-06-02 19:13:05"},{"uid":3937,"uptime":"2016-09-06 12:24:03"},{"uid":3938,"uptime":"2016-09-06 12:23:01"},{"uid":3942,"uptime":"2016-09-06 12:22:43"},{"uid":3945,"uptime":"2016-06-03 16:52:36"},{"uid":3948,"uptime":"2016-09-06 12:24:00"},{"uid":3949,"uptime":"2016-09-06 12:24:02"},{"uid":3954,"uptime":"2016-09-06 12:24:01"},{"uid":4214,"uptime":"2016-09-06 12:22:59"},{"uid":4215,"uptime":"2016-09-06 12:23:03"},{"uid":4219,"uptime":"2016-09-06 12:22:07"},{"uid":4224,"uptime":"2016-06-03 16:02:55"},{"uid":4225,"uptime":"2016-09-06 12:22:08"},{"uid":4226,"uptime":"2016-06-03 16:45:26"},{"uid":4235,"uptime":"2016-06-02 14:15:47"}]} if (resp.Length > 0) { StudentLasttime sl = JsonOper.DeserializeJsonToObject <StudentLasttime>(resp); m_callnameTimeList = new List <StudentLasttimeCallname>(sl.LastTime_Callname); m_rewardTimeList = new List <StudentLasttimeReward>(sl.LastTime_Reward); DateTime tm_now = DateTime.Now; foreach (StudentLasttimeCallname item in m_callnameTimeList) { DateTime tm_last = DateTime.Parse(item.uptime); TimeSpan lasttimespan = new TimeSpan(tm_last.Ticks); TimeSpan nowtimespan = new TimeSpan(tm_now.Ticks); TimeSpan timespan = nowtimespan.Subtract(lasttimespan).Duration(); int timeDiff = timespan.Days * 24 * 60 + timespan.Hours * 60 + timespan.Minutes; item.minute = timeDiff; Log.Info("uptime: " + item.uptime + ", " + timeDiff); } foreach (StudentLasttimeReward item in m_rewardTimeList) { DateTime tm_last = DateTime.Parse(item.uptime); TimeSpan lasttimespan = new TimeSpan(tm_last.Ticks); TimeSpan nowtimespan = new TimeSpan(tm_now.Ticks); TimeSpan timespan = nowtimespan.Subtract(lasttimespan).Duration(); int timeDiff = timespan.Days * 24 * 60 + timespan.Hours * 60 + timespan.Minutes; item.minute = timeDiff; Log.Info("uptime: " + item.uptime + ", " + timeDiff); } } foreach (StudentInfo si in Global.g_StudentInfoArray) { StudentActive sa = new StudentActive(); sa.uid = Util.toInt(si.ID); sa.handon = 0; sa.xiti = 0; sa.second = 0; //------------------------------------------- addStudentActive(sa); } } }