/// <summary> /// Cập nhật một bản ghi được gửi lên từ phía client /// </summary> public JsonResult Update(EXAMHALL_OBJ obj) { ArrayList arrList = UpdateExamHall(obj); var ret = arrList[1]; var pagecount = arrList[2]; var currentpage = arrList[3]; //some thing like that return(Json(new { ret, pagecount, currentpage }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// khi update bản ghi: hàm này được gọi trong hàm update /// </summary> /// <param name="obj"></param> /// <returns></returns> public ArrayList UpdateExamHall(EXAMHALL_OBJ obj) { ArrayList arrList = new ArrayList(); EXAMHALL_BUS bus = new EXAMHALL_BUS(); int ret = 0; int add = 0; //kiểm tra tồn tại cho trường hợp sửa var objTemp = !string.IsNullOrEmpty(obj.CODE) ? bus.GetByID(new EXAMHALL_OBJ.BusinessObjectID(obj.CODE)) : new EXAMHALL_OBJ(); if (ret < 0) { //đóng kết nối trước khi trả về bus.CloseConnection(); //ban ghi sửa đã bị xóa return(arrList); } //hết kiểm tra tồn tại bản ghi objTemp.EDITTIME = DateTime.Now; //Thời điểm sủa bản ghi objTemp.EDITUSER = _ses.loginCode; //Người sửa bản ghi objTemp.CODEVIEW = obj.CODEVIEW; objTemp.NAME = obj.NAME; objTemp.NOTE = obj.NOTE; objTemp.LOCK = obj.LOCK; //Kiểm tra tình trạng sửa hay là thêm mới if (string.IsNullOrEmpty(obj.CODE)) { //Thêm mới add = 1; //Sinh mã objTemp.CODE = bus.genNextCode(obj); // objTemp.CODEVIEW = objTemp.CODE; objTemp.LOCKDATE = DateTime.Now; } objTemp.EXAMTIMECODE = obj.EXAMTIMECODE; objTemp.BAGGROUP = obj.BAGGROUP; objTemp.HALLNUMBER = obj.HALLNUMBER; objTemp.MAXSTUDENT = obj.MAXSTUDENT; objTemp.STUDENTAMOUNT = obj.STUDENTAMOUNT; objTemp.EXAMSTUDENTAMOUNT = obj.EXAMSTUDENTAMOUNT; objTemp.PAPERAMOUNT = obj.PAPERAMOUNT; objTemp.BEGINTIME = obj.BEGINTIME; objTemp.ENDTIME = obj.ENDTIME; objTemp.UNIVERSITYCODE = _ses.gUNIVERSITYCODE; if (add == 1) { ret = bus.insert(objTemp); } else { //gán _ID để xác định bản ghi sẽ được cập nhật objTemp._ID.CODE = obj.CODE; ret = bus.update(objTemp); if (ret >= 0) { // update lại realbegintime và realendtime cho các sinh viên trong phòng này EXAMHALLSTUDENT_BUS stdBus = new EXAMHALLSTUDENT_BUS(); var examHallStd = stdBus.getAllBy2("CODE", new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0), new fieldpara("EXAMHALLCODE", objTemp.CODE, 0)); if (examHallStd != null) { foreach (var item in examHallStd) { item.REALBEGINTIME = objTemp.BEGINTIME; item.REALENDTIME = objTemp.ENDTIME; item.FINALENDTIME = objTemp.ENDTIME; ret = new ExamHallStudentController().Update(item); } } stdBus.CloseConnection(); } } int pagecount = 0; int currentpage = 0; if (ret >= 0) { List <fieldpara> lipa = new List <fieldpara> { new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0) }; objTemp._ID.CODE = objTemp.CODE; ret = bus.checkPage(objTemp._ID, "CODE", AppConfig.item4page(), out pagecount, out currentpage, lipa); } bus.CloseConnection(); arrList.Add(objTemp.CODE); arrList.Add(ret); arrList.Add(pagecount); arrList.Add(currentpage); return(arrList); }
/// <summary> /// tạo phòng thi cho sinh viên /// </summary> /// <param name="examTimeCode">mã đợt thi</param> /// <returns></returns> public int CreateExamHallStudent(string examTimeCode) { var ret = 0; // delete all examhall by examtimecode ExamHallController examhallstudens = new ExamHallController(); ret = examhallstudens.DeleteAll(examTimeCode); if (ret >= 0) { // get examtime EXAMTIME_BUS examTimeBus = new EXAMTIME_BUS(); EXAMTIME_OBJ examtime = examTimeBus.GetByID(new EXAMTIME_OBJ.BusinessObjectID(examTimeCode)); int studentAmountHall = examtime.STUDENTAMOUNTHALL; //get all student by examtime EXAMHALLSTUDENT_BUS bus = new EXAMHALLSTUDENT_BUS(); List<fieldpara> lipa = new List<fieldpara> { new fieldpara("EXAMTIMECODE", examTimeCode, 0), new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0) }; //order by code var liStudent = bus.getAllBy2("CODE", lipa.ToArray()); // list ExamHallStudent EXAMHALLSTUDENT_OBJ examhallstudent = new EXAMHALLSTUDENT_OBJ(); string examhallcode = ""; int counthall = 0; // số phòng // gán mã phòng cho sinh viên for (int i = 0; i < liStudent.Count; i++) { // ví dụ: từ sinh viên 1 -> count - 1 if (i % studentAmountHall != 0) { examhallstudent.CODE = liStudent[i].CODE; examhallstudent.EXAMHALLCODE = examhallcode; ret = Update(examhallstudent); if (ret < 0) { bus.CloseConnection(); examTimeBus.CloseConnection(); return ret; } } else { counthall++; // các sinh viên đầu phòng // create examhall EXAMHALL_OBJ examhall = new EXAMHALL_OBJ { NAME = examtime.NAME + " - "+ counthall, EXAMTIMECODE = examTimeCode, UNIVERSITYCODE = _ses.gUNIVERSITYCODE }; ArrayList result = new ExamHallController().UpdateExamHall(examhall); examhallcode = (string)result[0]; // examhallcode // update examhallcode examhallstudent.CODE = liStudent[i].CODE; examhallstudent.EXAMHALLCODE = examhallcode; ret = Update(examhallstudent); if (ret < 0) { bus.CloseConnection(); examTimeBus.CloseConnection(); return ret; } } } bus.CloseConnection(); examTimeBus.CloseConnection(); } return ret; }