Beispiel #1
0
        /// <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));
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #4
0
        /// <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);
        }