/// <summary> /// update danh sách sinh viên lớp môn học /// </summary> /// <param name="listStudentCode">danh sách mã sinh viên</param> /// <param name="coursecode">mã lớp môn học</param> /// <param name="subjectcode">Môn học</param> /// <returns></returns> public JsonResult UpdateStudentCourse(List <string> listStudentCode, string coursecode, string subjectcode) { int ret = 0; MARK_BUS busMark = new MARK_BUS(); List <MARK_OBJ> liMark = new List <MARK_OBJ>(); MARK_OBJ midMarkObj = new MARK_OBJ(); //gennextcode to define first code to gennextcode for other n list string markCode = busMark.genNextCode(midMarkObj); if (listStudentCode == null) { ret = -1; } else { foreach (var studentCode in listStudentCode) { MARK_OBJ objMark = new MARK_OBJ { CODE = markCode }; markCode = busMark.GenNextCode(objMark, markCode); //gán giá trị code đầu tiên cho giá trị mặc định sinh được tiến hành gán lại giá trị mặc định mặc gennextcode của đối tượng hiện tại objMark.LOCKDATE = DateTime.Now; objMark.CODEVIEW = objMark.CODEVIEW; objMark.COURSECODE = coursecode; objMark.STUDENTCODE = studentCode; objMark.SUBJECTCODE = subjectcode; objMark.LOCK = 0; objMark.EDITTIME = DateTime.Now; // thời điểm sửa bản ghi objMark.EDITUSER = _ses.loginCode; objMark.UNIVERSITYCODE = _ses.gUNIVERSITYCODE; liMark.Add(objMark); } } //Tạo phiên làm việc, thực hiện trong trường hợp có nhiều thao tác với cơ sở dữ liệu, //yêu cầu khi thực hiện nhiều hơn một lệnh có thay đổi dữ liệu phải gọi phương thức này. busMark.BeginTransaction(); if (ret >= 0) { ret = busMark.InsertMultiItems(liMark); if (ret < 0) { //Trong trường hợp nhiều thao tác, có một thao tác không thành công, //hàm này được gọi để quay lại trạng thái trước khi thực hiện (bắt đầu từ khi gọi BeginTransaction() busMark.RollbackTransaction(); } else { //Sau khi thao tác dữ liệu thành công, hàm này được gọi để thực hiện ghi vào cơ sở dữ liệu busMark.CommitTransaction(); } } busMark.CloseConnection(); return(Json(new { ret }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Lây ra lấy ra mã sinh viên được chỉ định trong bảng điểm của một lớp môn học /// </summary> /// <param name="studentcode">mã sinh viên</param> /// <param name="coursecode">mã lớp môn học</param> /// <returns></returns> public JsonResult GetMarkCode(string studentcode, string coursecode) { MARK_BUS markbus = new MARK_BUS(); MARK_OBJ obj = markbus.GetByKey(new fieldpara("STUDENTCODE", studentcode, 0), new fieldpara("COURSECODE", coursecode, 0)); markbus.CloseConnection(); var jsonResult = Json(new { obj, //Danh sách ret = 0 //ok }, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
/// <summary> /// thêm dữ liệu vào bảng examhallstudent : /// </summary> /// <param name="listStudentCode"></param> /// <param name="examTimeCode"></param> /// <param name="courseCode"></param> /// <param name="parentCode"></param> /// <returns></returns> public JsonResult Insert(List<string> listStudentCode, string examTimeCode, string courseCode) { int ret = 0; if (listStudentCode != null) { EXAMHALLSTUDENT_BUS bus = new EXAMHALLSTUDENT_BUS(); foreach (var studentCode in listStudentCode) { MARK_BUS markBus = new MARK_BUS(); MARK_OBJ markObj = markBus.GetByKey( new fieldpara("STUDENTCODE", studentCode, 0), new fieldpara("COURSECODE", courseCode, 0), new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0) ); if (markObj == null) ret = -1; else { // kiểm tra đã tồn tại bản ghi có markcode và coursecode truyền vào chưa EXAMHALLSTUDENT_OBJ obj = bus.GetByKey( new fieldpara("MARKCODE", markObj.CODE, 0), new fieldpara("COURSECODE", courseCode, 0), new fieldpara("EXAMTIMECODE", examTimeCode, 0), new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0) ); if (obj != null) { ret = -2; return Json(new { ret }, JsonRequestBehavior.AllowGet); } EXAMHALLSTUDENT_OBJ objTemp = new EXAMHALLSTUDENT_OBJ(); objTemp.CODE = bus.genNextCode(objTemp); objTemp.MARKCODE = markObj.CODE; objTemp.COURSECODE = courseCode; objTemp.EXAMTIMECODE = examTimeCode; objTemp.LOCK = 0; objTemp.EDITTIME = DateTime.Now; objTemp.EDITUSER = _ses.loginCode; objTemp.UNIVERSITYCODE = _ses.gUNIVERSITYCODE; ret = bus.insert(objTemp); } markBus.CloseConnection(); } bus.CloseConnection(); } return Json(new { ret }, JsonRequestBehavior.AllowGet); }
/// <summary> /// Lấy ra chi tiết của một bài thi dựa vào mã sinh viên trong bảng điểm lớp môn học và mã học kì /// </summary> /// <param name="markcode">mã sinh viên trong lớp môn học</param> /// <param name="examtimecode">mã học kì </param> /// <returns></returns> public JsonResult GetDetailExam(string markcode, string examtimecode) { if (string.IsNullOrEmpty(markcode)) { markcode = "1708310001"; } int ret = 0; int numberQuestion = 0; MARK_BUS markbus = new MARK_BUS(); MARK_OBJ objmark = markbus.GetByID(new MARK_OBJ.BusinessObjectID(markcode));//markbus.GetByKey(new fieldpar("STUDENTCODE", _ses.loginCode, 0),new fieldpara("COURSECODE", courseCode, 0)); markbus.CloseConnection(); if (objmark == null) { ret = -7; } EXAMHALLSTUDENT_OBJ obj = new EXAMHALLSTUDENT_OBJ(); if (ret >= 0) { EXAMHALLSTUDENT_BUS bus = new EXAMHALLSTUDENT_BUS(); if (objmark != null) { obj = bus.GetByKey(new fieldpara("MARKCODE", objmark.CODE, 0), new fieldpara("examtimecode", examtimecode)); } bus.CloseConnection(); } //Lấy được một lần thi if (obj == null) { ret = -1; } EXAMFORM_BUS busExamform = new EXAMFORM_BUS(); EXAMFORM_OBJ objExamform = null; //Lấy đề thi if (ret >= 0) { if (obj != null) { objExamform = busExamform.GetByID((new EXAMFORM_OBJ.BusinessObjectID(obj.EXAMFORMCODE))); } busExamform.CloseConnection(); if (objExamform == null) { ret = -2; } } //Danh sachs cau truc EXAMFORMDETAIL_BUS busExamformdetail = new EXAMFORMDETAIL_BUS(); List <EXAMFORMDETAIL_OBJ> liExamformdetail = new List <EXAMFORMDETAIL_OBJ>(); if (ret >= 0) { if (objExamform != null) { liExamformdetail = busExamformdetail.getAllBy2("THEORDER", new fieldpara("EXAMFORMCODE", objExamform.CODE)); } busExamformdetail.CloseConnection(); if (liExamformdetail == null) { ret = -3; } } List <fieldpara> lipa = new List <fieldpara>(); List <jointable> lijoin = new List <jointable>(); //Lay danh sach cac nhom cau hoi QUESTIONGROUP_BUS busQuestiongroup = new QUESTIONGROUP_BUS(); List <QUESTIONGROUP_OBJ> liQuestiongroup = new List <QUESTIONGROUP_OBJ>(); if (ret >= 0) { if (objExamform != null) { lijoin.Add(new jointable(typeof(EXAMFORMDETAIL_OBJ), "CODE", "QUESTIONGROUPCODE", new fieldpara("EXAMFORMCODE", objExamform.CODE))); } liQuestiongroup = busQuestiongroup.getAllBy2("CODE", lipa, lijoin); if (liQuestiongroup == null) { ret = -4; } busQuestiongroup.CloseConnection(); } //Lay danh sach cau hoi QUESTION_BUS busQuestion = new QUESTION_BUS(); List <QUESTION_OBJ> listQuestionreturn = new List <QUESTION_OBJ>(); if (ret >= 0) { lijoin.Clear(); if (objExamform != null) { lijoin.Add(new jointable(typeof(EXAMFORMDETAIL_OBJ), "QUESTIONGROUPCODE", "QUESTIONGROUPCODE", new fieldpara("examformcode", objExamform.CODE))); } var liQuestion = busQuestion.getAllBy2("CODE", lipa, lijoin); if (liQuestion == null) { ret = -5; } else { foreach (var objQuestion in liQuestion) { QUESTION_OBJ objTemp = new QUESTION_OBJ(); objTemp.CODE = objQuestion.CODE; objTemp.ANSWERCODE = null; objTemp.CONTENT = objQuestion.CONTENT; objTemp.QUESTIONGROUPCODE = objQuestion.QUESTIONGROUPCODE; objTemp._QUESTIONGROUPCODE = objQuestion._QUESTIONGROUPCODE; objTemp._ID = objQuestion._ID; listQuestionreturn.Add(objTemp); } numberQuestion = liQuestion.Count; } busQuestion.CloseConnection(); } //Lay danh danh cac dap an ANSWER_BUS busAnswer = new ANSWER_BUS(); List <ANSWER_OBJ> liAnswer = new List <ANSWER_OBJ>(); if (ret >= 0) { lijoin.Clear(); if (objExamform != null) { lijoin.Add((new jointable(typeof(EXAMFORMDETAIL_OBJ), "QUESTIONGROUPCODE", "QUESTIONGROUPCODE", new fieldpara("examformcode", objExamform.CODE)))); } liAnswer = busAnswer.getAllBy2("CODE", lipa, lijoin); if (liAnswer == null) { ret = -6; } busAnswer.CloseConnection(); } //get list exam result in case student lost the internet EXAMRESULT_BUS busExamresult = new EXAMRESULT_BUS(); List <EXAMRESULT_OBJ> liExamresult = new List <EXAMRESULT_OBJ>(); if (ret >= 0) { if (obj != null) { liExamresult = busExamresult.getAllBy2(new fieldpara("examhallstudentcode", obj.CODE)); } busExamresult.CloseConnection(); } var jsonResult = Json(new { numberQuestion, //so luong cau hoi ObjexamHallstudent = obj, //examhallstudent code ObjexamForm = objExamform, //examform liExamformDetail = liExamformdetail, //Danh sách examdetail liQuestiongroup, //danh sach nhom cau hoi li_question = listQuestionreturn, //danh sach cac cau hoi li_answer = liAnswer, //danh sach tat ca cac cau tra loi liExamresult, //danh sach tat ca cac dap an da tra loi cu sinh vien ret //ok }, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }