Exemple #1
0
        public JsonResult CheckCodeViewExit(string code, string codeView)
        {
            int                 ret;
            EXAMTIME_BUS        bus = new EXAMTIME_BUS();
            List <EXAMTIME_OBJ> li  = bus.getAllBy2(new fieldpara("CODEVIEW", codeView, 0), new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));

            bus.CloseConnection();
            int count = li.Count;

            if (count == 0)
            {
                ret = 0;
            }
            else
            {
                if (code != "" && code == li[0].CODE)
                {
                    ret = 0;
                }
                else
                {
                    ret = 1;
                }
            }
            return(Json(new { sussess = ret }, JsonRequestBehavior.AllowGet));
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <param name="subjectcode"></param>
        /// <param name="code"></param>
        /// <param name="codetype"></param>
        /// <param name="name"></param>
        /// <param name="nametype"></param>
        /// <param name="note"></param>
        /// <param name="notetype"></param>
        /// <param name="year"></param>
        /// <param name="parentcode"></param>
        /// <returns></returns>
        public JsonResult GetAllSearch(int page, int pageSize, string subjectcode, string code, bool codetype, string name, bool nametype,
                                       string note, bool notetype, string year, string parentcode = "DH")
        {
            //mặc định cho phần trang
            if (pageSize == 0)
            {
                pageSize = AppConfig.item4page();
            }
            if (page < 1)
            {
                page = 1;
            }
            //Khai báo lấy dữ liệu
            EXAMTIME_BUS     bus  = new EXAMTIME_BUS();
            List <fieldpara> lipa = new List <fieldpara> {
                new fieldpara("SUBJECTCODE", subjectcode, 0)
            };

            if (!string.IsNullOrEmpty(code))
            {
                lipa.Add(codetype ? new fieldpara("CODEVIEW", code, 0) : new fieldpara("CODEVIEW", code, 1));
            }
            if (!string.IsNullOrEmpty(name))
            {
                lipa.Add(nametype ? new fieldpara("NAME", name, 0) : new fieldpara("NAME", name, 1));
            }
            if (!string.IsNullOrEmpty(note))
            {
                lipa.Add(notetype ? new fieldpara("NOTE", note, 0) : new fieldpara("NOTE", note, 1));
            }
            if (!string.IsNullOrEmpty(year))
            {
                lipa.Add(new fieldpara("YEAR", year, 0));
            }
            //Lọc đơn vị cấp trên; '' sẽ là không co đơn vị cấp trên
            if (!string.IsNullOrEmpty(parentcode))
            {
                lipa.Add(new fieldpara("EDUCATIONLEVELCODE", parentcode, 0));
            }
            lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
            int countpage;
            int totalItem;
            //order by theorder, with pagesize and the page
            var li = bus.getAllBy2("NAME", pageSize, page, out countpage, out totalItem, lipa);

            bus.CloseConnection();
            //Chỉ số đầu tiên của trang hiện tại (đã trừ -1)
            //Trả về client
            var a = JsonConvert.SerializeObject(li);

            return(Json(new
            {
                lst = li,              //Danh sách
                data2 = a,
                totalItem,             // số lượng tất cả các bản ghi
                totalPage = countpage, // số lượng trang
                ret = 0                //ok
            }, JsonRequestBehavior.AllowGet));
        }
Exemple #3
0
        /// <summary>
        /// lây danh sách tất cả các đợt thi của 1 môn học
        /// </summary>
        ///<param name="subjectcode">mã môn học</param>
        /// <returns></returns>
        public JsonResult GetBySubject(string subjectcode)
        {
            var          ret  = -1;
            EXAMTIME_BUS bus  = new EXAMTIME_BUS();
            var          data = bus.getAllBy2("CODE", new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0),
                                              new fieldpara("SUBJECTCODE", subjectcode, 0));

            if (data != null)
            {
                ret = 0;
            }
            bus.CloseConnection();
            return(Json(new { lst = data, 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);
        }
Exemple #5
0
        /// <summary>
        /// Cập nhật một bản ghi được gửi lên từ phía client
        /// </summary>
        public JsonResult Update(EXAMTIME_OBJ obj, string parentcode = "DH")
        {
            EXAMTIME_BUS bus = new EXAMTIME_BUS();
            int          ret;
            int          add = 0;
            EXAMTIME_OBJ objTemp;

            //kiểm tra tồn tại cho trường hợp sửa
            if (!string.IsNullOrEmpty(obj.CODE))//edit
            {
                objTemp = bus.GetByID(new EXAMTIME_OBJ.BusinessObjectID(obj.CODE));
                if (objTemp == null || objTemp.UNIVERSITYCODE != _ses.gUNIVERSITYCODE)
                {
                    ret = -4;
                    //đóng kết nối trước khi trả về
                    bus.CloseConnection();
                    //ban ghi sửa đã bị xóa
                    return(Json(new { sussess = ret }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                objTemp = new EXAMTIME_OBJ();
            }

            //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.EDUCATIONLEVELCODE = "DH";
            //obj_temp.EDUCATIONLEVELCODE = obj.EDUCATIONLEVELCODE;
            objTemp.SUBJECTCODE       = obj.SUBJECTCODE;
            objTemp.UNIVERSITYCODE    = _ses.gUNIVERSITYCODE;
            objTemp.NOTE              = obj.NOTE;
            objTemp.LOCK              = obj.LOCK;
            objTemp.YEAR              = obj.YEAR;
            objTemp.TERM              = obj.TERM;
            objTemp.MAXSTUDENTPERTEST = obj.MAXSTUDENTPERTEST;
            objTemp.QUESTIONUSE       = obj.QUESTIONUSE;
            objTemp.STUDENTAMOUNTHALL = obj.STUDENTAMOUNTHALL;
            objTemp.STUDENTINBAG      = obj.STUDENTINBAG;
            objTemp.TESTSTRUCTCODE    = obj.TESTSTRUCTCODE;
            objTemp.TESTCOUNT         = obj.TESTCOUNT;
            objTemp.WHOIS             = bus.encrypt(objTemp);
            //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.LOCKDATE = DateTime.Now;
            }
            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);
            }
            int pagecount   = 0;
            int currentpage = 0;

            if (ret >= 0)
            {
                List <fieldpara> lipa = new List <fieldpara>();
                //Lọc đơn vị cấp trên; '' sẽ là không co đơn vị cấp trên
                if (!string.IsNullOrEmpty(parentcode))
                {
                    lipa.Add(new fieldpara("EDUCATIONLEVELCODE", parentcode, 0));
                }
                lipa.Add(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();
            //some thing like that
            return(Json(new { ret, pagecount, currentpage }, JsonRequestBehavior.AllowGet));
        }
Exemple #6
0
        public JsonResult Delete(List <string> code)
        {
            var ret = 0;
            var bus = new EXAMTIME_BUS();
            List <EXAMTIME_OBJ.BusinessObjectID> deletedata = new List <EXAMTIME_OBJ.BusinessObjectID>();
            List <fieldpara> lipa = new List <fieldpara>();

            if (code == null)
            {
                ret = -1;
            }
            else
            {
                foreach (string t in code)
                {
                    if (t != null)
                    {
                        var item = bus.GetByID(new EXAMTIME_OBJ.BusinessObjectID(t));
                        if (item != null)
                        {
                            lipa.Clear();
                            lipa.Add(new fieldpara("EXAMTIMECODE", t, 0));
                            lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
                            ret = new EXAMHALL_BUS().checkCode(null, lipa.ToArray());
                            var ret1 = new EXAMHALLSTUDENT_BUS().checkCode(null, lipa.ToArray());
                            var ret2 = new EXAMFORM_BUS().checkCode(null, lipa.ToArray());
                            if (ret == 0 && ret1 == 0 && ret2 == 0)
                            {
                                deletedata.Add(item._ID);
                            }
                            else
                            {
                                ret = -3;
                                return(Json(new
                                {
                                    ret
                                }, JsonRequestBehavior.AllowGet));
                            }
                        }
                    }
                }
            }
            if (deletedata.Count > 0)
            {
                //mặc định khi vào danh sách này là xóa thành công nên ret= 1;
                //duyệt toàn bộ danh sách bản ghi để xóa
                bus.BeginTransaction();
                ret = bus.DeletetMultiItems(deletedata);
                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()
                    bus.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
                    bus.CommitTransaction();
                }
            }
            bus.CloseConnection();
            return(Json(new
            {
                ret
            }, JsonRequestBehavior.AllowGet));
        }
 /// <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;
 }