/// <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); }
public int ProcessExamFormAuto(string examtimecode, string coursecode, int testcount) { int ret = 0; //Lấy được đợt thi EXAMTIME_BUS bus = new EXAMTIME_BUS(); EXAMTIME_OBJ obj = bus.GetByID(new EXAMTIME_OBJ.BusinessObjectID(examtimecode)); EXAMFORM_BUS busExamfom = new EXAMFORM_BUS(); List <EXAMFORM_OBJ> liExamform = new List <EXAMFORM_OBJ>(); bus.CloseConnection(); if (obj == null) { ret = -1; } //Lấy được lớp học MARK_BUS busMark = new MARK_BUS(); List <MARK_OBJ> liMark = busMark.getAllBy2(new fieldpara("COURSECODE", coursecode)); busMark.CloseConnection(); if (ret >= 0) { liExamform = CreateExamForm(obj, testcount, out ret); } EXAMFORMDETAIL_BUS busExamformdetail = new EXAMFORMDETAIL_BUS(); EXAMFORMDETAIL_OBJ objExamformdetail = new EXAMFORMDETAIL_OBJ(); List <EXAMFORMDETAIL_OBJ> liExamformdetail = new List <EXAMFORMDETAIL_OBJ>(); //Danh sách cấu trúc đề TESTSTRUCTDETAIL_BUS busTeststructdetail = new TESTSTRUCTDETAIL_BUS(); List <TESTSTRUCTDETAIL_OBJ> liTestStructDetail = busTeststructdetail.getByTestStruct(obj.TESTSTRUCTCODE, _ses.gUNIVERSITYCODE); busTeststructdetail.CloseConnection(); string currentCode = busExamformdetail.genNextCode(objExamformdetail); if (ret >= 0) { foreach (EXAMFORM_OBJ objtem in liExamform) { ret = CreateExamFormDetail(ref liExamformdetail, objtem, liTestStructDetail, ref currentCode); if (ret < 0) { break; } } } //Gán sinh viên vào danh sách đề List <EXAMHALLSTUDENT_OBJ> liExamhallstudent = new List <EXAMHALLSTUDENT_OBJ>(); EXAMHALLSTUDENT_BUS busExamhallstudent = new EXAMHALLSTUDENT_BUS(); EXAMHALLSTUDENT_OBJ objExamhallstudent = new EXAMHALLSTUDENT_OBJ(); currentCode = busExamhallstudent.genNextCode(objExamhallstudent); int i = 0; //Thêm tất cả sinh viên foreach (MARK_OBJ objMar in liMark) { //Gán sinh viên vào examhall student objExamhallstudent = new EXAMHALLSTUDENT_OBJ(); objExamhallstudent.CODE = currentCode; currentCode = busExamhallstudent.genNextCode(objExamhallstudent, currentCode); objExamhallstudent.COURSECODE = coursecode; objExamhallstudent.EDITTIME = DateTime.Now; objExamhallstudent.EDITUSER = _ses.loginCode; objExamhallstudent.EXAMFORMCODE = liExamform[i % testcount].CODE; objExamhallstudent.EXAMTIMECODE = examtimecode; i++; objExamhallstudent.EXAMHALLCODE = ""; objExamhallstudent.MARKCODE = objMar.CODE; objExamhallstudent.UNIVERSITYCODE = _ses.gUNIVERSITYCODE; liExamhallstudent.Add(objExamhallstudent); } if (ret >= 0) { busExamfom.BeginTransaction(); busExamformdetail.setConnection(busExamfom); busExamhallstudent.setConnection(busExamfom); ret = busExamfom.InsertMultiItems(liExamform); if (ret >= 0) { ret = busExamformdetail.InsertMultiItems(liExamformdetail); } if (ret >= 0) { ret = busExamhallstudent.InsertMultiItems(liExamhallstudent); } if (ret >= 0) { busExamfom.CommitTransaction(); } else { busExamfom.RollbackTransaction(); } } busExamfom.CloseConnection(); return(ret); }