private void btnRequestActive_Click(object sender, EventArgs e) { JsonResult jr = RemoteServiceProxy.RequestActive(machineCode, "我要申请激活"); if (jr.error) { //AddLog("error=" + jr.message); UIHelper.ShowAlert(jr.message); } else { //AddLog("success=" + jr.message); UIHelper.ShowInfo(jr.message); } }
private void btnSyncActive_Click(object sender, EventArgs e) { JsonResult jr = RemoteServiceProxy.SyncActive(machineCode); if (jr.error) { UIHelper.ShowAlert(jr.message); } else { long tick = 0; long.TryParse(jr.data["expiredTime"], out tick); tick = tick / 1000; // AddLog("success=" + jr.message); //save int n = 0; if (tick == 0) { SqlLiteHelper.ExecuteNonQuery("update system set active_code=?,node_name=?,active_time=datetime('now','localtime'),node_id=?,expire_time=null", jr.data["licenseKey"], jr.data["name"], jr.data["classroomId"]); } else { DateTime expire_time = UnixTool.ConvertIntDateTime(tick); if (expire_time.CompareTo(System.DateTime.Now) <= 0) { //到期了 expired = true; UIHelper.ShowAlert("激活信息已经失效,请与总部联系"); return; } n = SqlLiteHelper.ExecuteNonQuery("update system set active_code=?,node_name=?,active_time=datetime('now','localtime'),node_id=?,expire_time=datetime(?, 'unixepoch', 'localtime')", jr.data["licenseKey"], jr.data["name"], jr.data["classroomId"], tick); } // int n = SqlLiteHelper.ExecuteNonQuery("update system set node_id=?", jr.data["classroomId"]); UIHelper.ShowInfo("成功同步激活信息"); ShowSuccess(true); DialogResult = DialogResult.OK; } }
private void btnSyncCourse_Click(object sender, EventArgs e) { JsonResultList jr = RemoteServiceProxy.SyncCourse(FrmActive.machineCode, FrmActive.activeCode); StoreModel.ProcessNotActived(jr); if (jr.error) { AddLog("错误:" + jr.message); UIHelper.ShowAlert(jr.message); return; } // AddLog("success=" + jr.message); //save string sql = @"select course_no,removed from course"; //load all DataSet ds = SqlLiteHelper.ExecuteQuery(sql); Dictionary <string, bool> exists_courses = new Dictionary <string, bool>(); foreach (DataRow row in ds.Tables[0].Rows) { string course_no = row["course_no"].ToString(); bool removed = (bool)row["removed"]; exists_courses.Add(course_no, removed); } //所有数据是否存在,所有都要更新,多出来的还没删掉的,要标记为删除 int updateCount = 0; int insertCount = 0; foreach (var row in jr.data) { int idx = GetCourseCategoryIndex(row["categoryNo"]); //去除击中的 string course_no = row["courseNo"]; if (exists_courses.ContainsKey(course_no)) { //update int n = SqlLiteHelper.ExecuteNonQuery("update course set course_name=?,key=?,course_category=?,sub_category=?,updated_time=datetime('now','localtime'),removed=? where course_no=?", row["courseName"], row["courseKey"], idx, row["subCategoryName"], false, course_no); //remove hits exists_courses.Remove(course_no); //AddLog("update result=" + n.ToString()); updateCount++; } else { //insert int n = SqlLiteHelper.ExecuteNonQuery(@"insert into course (course_name,key,course_no,course_category,sub_category,created_time,updated_time,removed) values( ?,?,?,?,?,datetime('now','localtime'),datetime('now','localtime'),?)", row["courseName"], row["courseKey"], row["courseNo"], idx, row["subCategoryName"], false); //AddLog("insert result=" + n.ToString()); insertCount++; } } //尚未集中的,如果没有标为删除,则标为删除 int cc = 0; foreach (var row in exists_courses) { if (!row.Value) { SqlLiteHelper.ExecuteNonQuery("update course set removed=?,updatedTime=datetime('now','localtime') where course_no=?", true, row.Key); cc++; } } AddLog("新增课程:" + insertCount.ToString()); AddLog("更新课程:" + updateCount.ToString()); AddLog("移除课程:" + cc.ToString()); }
private void btnSyncCourseTask_Click(object sender, EventArgs e) { /*JsonResult jr = RemoteServiceProxy.UploadWork(@"C:\Users\乙郎\Pictures\7cbc9488-0a4b-4ab5-a6ed-70e319096680.png", "12", "14"); * AddLog("result=" + jr.message);*/ EnableButton(false); List <long> courseTaskIds = StoreModel.GetFinishCourseTaskIds(); pb.Maximum = courseTaskIds.Count; int syncCount = 0; int successCount = 0; int errorCount = 0; foreach (var id in courseTaskIds) { syncCount++; pb.Value = syncCount; CourseTask ct = StoreModel.GetById(id); JsonResultList list = RemoteServiceProxy.Report(ct, FrmActive.machineCode, FrmActive.activeCode); if (list.error) { AddLog("同步课程任务失败:" + id.ToString() + " 错误信息:" + list.message); errorCount++; continue; } List <WorkInfo4Upload> works = RemoteServiceProxy.PrepareWork(ct.Works, list.data); //然后传到服务器!--作品! bool error = false; foreach (var w in works) { JsonResult jr = RemoteServiceProxy.ReportWork(w); if (jr.error) { AddLog("同步作品失败:" + id.ToString() + " 作品=" + w.StudentNo); error = true; continue; } } if (!error) { StoreModel.FinishReportCourseTask(id); StoreModel.RemoveFiles(ct.Works); successCount++; } else { errorCount++; } } //全部更新完成了 //界面刷新一下 this.UpdateLeftCourseCount(); pb.Value = 0; EnableButton(true); AddLog("同步数量:" + syncCount.ToString() + " 成功数量:" + successCount.ToString() + " 错误数量:" + errorCount.ToString()); }
public static void Main() { // setup trace TextWriterTraceListener traceLog = new TextWriterTraceListener("log.txt"); Debug.Listeners.Add(traceLog); Trace.WriteLine("start at : " + DateTime.Now.ToLongDateString()); //// create a fake course task //long id = 1; ////CourseTask ct = StoreModel.GetById(id); //CourseTask ct = new CourseTask(); //ct.Master = new CardInfo() //{ // No = "400001", // Name = "舒凡", // Rfid = "T:5" //}; //ct.BeginTime = DateTime.Now; //ct.EndTime = DateTime.Now; //ct.CourseId = 1; //ct.CourseNo = "123"; //ct.Assistant1 = new CardInfo() //{ // No = "500001", // Name = "舒凡", // Rfid = "T:5" //}; //ct.Id = 18; //ct.Status = CourseTask.STATUS_START; //ct.AddStudent(new CardInfo() //{ // No = "17", // Name = "苏鹂", // Rfid = "S:23" //}); //ct.AddWork(new WorkInfo() //{ // FilePath = "work1.png", // StudentNo = "17", //}); //JsonResultList list = RemoteServiceProxy.Report(ct, "730427b2ec993b13b3f6697faab1cf", // "abc"); //if (list.error) //{ // Trace.TraceWarning("report course failed! Exit!!!"); // return; //} //List<WorkInfo4Upload> works = RemoteServiceProxy.PrepareWork(ct.Works, list.data); ////然后传到服务器!--作品! //bool error = false; //foreach (var w in works) //{ WorkInfo4Upload w = new WorkInfo4Upload() { FilePath = "student-button.png", ResultStudentId = 17, CourseTaskResultId = 16, }; JsonResult jr = RemoteServiceProxy.ReportWork(w); if (jr.error) { //Trace.TraceWarning("同步作品失败:" + id.ToString() + " 作品=" + w.StudentNo); //error = true; //continue; } //} //if (error) //{ // Trace.TraceError("There are errors when handle the work uploading."); //} }