Пример #1
0
        public JsonResult CheckCodeViewExit(string code, string codeView)
        {
            int                 ret;
            EXAMHALL_BUS        bus = new EXAMHALL_BUS();
            List <EXAMHALL_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));
        }
Пример #2
0
        // GET: ExamHall

        public JsonResult getAllSearch(int page, int pageSize, string examtimecode, string code, bool codetype, string name, bool nametype,
                                       string note, bool notetype)
        {
            //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
            EXAMHALL_BUS     bus  = new EXAMHALL_BUS();
            List <fieldpara> lipa = new List <fieldpara>
            {
                new fieldpara("EXAMTIMECODE", examtimecode, 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));
            }
            //order by theorder, with pagesize and the page
            int countpage;
            int totalItem;
            //order by theorder, with pagesize and the page
            var li = bus.getAllBy2("CODE", pageSize, page, out countpage, out totalItem, lipa);

            return(Json(new
            {
                data = li,             //Danh sách
                totalItem,             // số lượng tất cả các bản ghi
                totalPage = countpage, // số lượng trang
                ret = 0                //ok
            }, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        // xóa toàn bộ các phòng đã được tạo ra trước đó
        public int DeleteAll(string examtimecode)
        {
            var          ret = 0;
            EXAMHALL_BUS bus = new EXAMHALL_BUS();
            var          li  = bus.getAllBy2("CODE", new fieldpara("EXAMTIMECODE", examtimecode, 0));

            if (li != null)
            {
                List <EXAMHALL_OBJ.BusinessObjectID> deleteData = new List <EXAMHALL_OBJ.BusinessObjectID>();
                if (li.Count >= 1)
                {
                    foreach (var examhall in li)
                    {
                        deleteData.Add(examhall._ID);
                    }
                }

                //còn đây là trường hợp xóa nhiều, cứ thông báo là xóa thành công là xong
                //mặc dù còn có các bản ghi không được xóa còn có tham chiếu nhưng không nên thông báo quá chi tiết
                if (deleteData.Count >= 1)
                {
                    //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();
                    }
                }
            }
            else
            {
                ret = -1;
            }
            return(ret);
        }
Пример #4
0
        /// <summary>
        /// chia đề thi cho sinh viên
        /// </summary>
        /// <param name="examtimeCode"></param>
        public int DevideExam(string examtimeCode)
        {
            int ret = 0;

            if (!string.IsNullOrEmpty(examtimeCode))
            {
                //list examform by examtime
                EXAMFORM_BUS examformBus    = new EXAMFORM_BUS();
                var          liExamform     = examformBus.getAllBy2("CODE", new fieldpara("EXAMTIMECODE", examtimeCode, 0));
                int          examformAmount = liExamform.Count; // số đề thi
                                                                // list hall
                EXAMHALL_BUS examhallBus = new EXAMHALL_BUS();
                var          liExamHall  = examhallBus.getAllBy2("CODE", new fieldpara("EXAMTIMECODE", examtimeCode, 0));
                foreach (var examhall in liExamHall)
                {
                    // danh sách sinh viên của một phòng thi
                    EXAMHALLSTUDENT_BUS examhallstudentBus = new EXAMHALLSTUDENT_BUS();
                    var liExamStd = examhallstudentBus.getAllBy2("CODE", new fieldpara("EXAMHALLCODE", examhall.CODE, 0));

                    for (int j = 0; j < liExamform.Count; j++)
                    {
                        for (int i = 0; i < liExamStd.Count; i++)
                        {
                            if (i % examformAmount == j)
                            {
                                liExamStd[i].EXAMFORMCODE = liExamform[j].CODE;
                                ret = examhallstudentBus.Update(liExamStd[i]);
                                if (ret < 0)
                                {
                                    return(ret);
                                }
                            }
                        }
                    }
                }
            }
            //  return ret;
            return(ret);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        public JsonResult Delete(List <String> listCode)
        {
            var ret = 0;

            if (listCode == null)
            {
                ret = -1;
            }
            else
            {
                var bus  = new EXAMHALL_BUS();
                var bus2 = new EXAMHALLSTUDENT_BUS();
                List <EXAMHALL_OBJ.BusinessObjectID> deletedata = new List <EXAMHALL_OBJ.BusinessObjectID>();
                List <fieldpara> lipa = new List <fieldpara>();

                foreach (string t in listCode)
                {
                    var item = bus.GetByID(new EXAMHALL_OBJ.BusinessObjectID(t));
                    lipa.Clear();
                    lipa.Add(new fieldpara("EXAMHALLCODE", t, 0));
                    lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
                    if (item != null)
                    {
                        ret = bus2.checkCode(null, lipa.ToArray());
                    }
                    if (ret > 0)
                    {
                        ret = new EXAMFORM_BUS().checkCode(null, lipa.ToArray());
                    }
                    if (ret < 0)
                    {
                        return(Json(new { ret = -2 }, JsonRequestBehavior.AllowGet));
                    }
                    if (ret >= 0)
                    {
                        deletedata.Add(item._ID);
                    }
                }
                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));
        }