public JsonResult Delete(List <String> code)
        {
            var ret = 0;

            if (code != null)
            {
                var bus = new TESTSTRUCTDETAIL_BUS();
                for (var i = 0; i < code.Count; i++)
                {
                    if (code[i] != null)
                    {
                        var item = bus.GetByID(new TESTSTRUCTDETAIL_OBJ.BusinessObjectID(code[i]));
                        if (item == null)
                        {
                            ret = -1;
                            continue;
                        }
                        if (ret >= 0)
                        {
                            ret = bus.delete(item._ID);
                        }
                    }
                }
                bus.CloseConnection();
            }
            return(Json(new
            {
                ret = ret
            }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// kiểm tra 1 đối tượng
        /// nếu là teststructcode hoặc là cha-> load teststructcontent
        /// nếu là lá thì load teststructdetail
        /// </summary>
        /// <param name="code">mã cần kiểm tra</param>

        /// <returns>
        /// ret = -1: LỖI;
        /// data.count > 0: có con
        /// </returns>
        public JsonResult CheckParent(string code, string teststructcode)
        {
            var ret = -1;
            List <TESTSTRUCTCONTENT_OBJ> liTestStructContent = new List <TESTSTRUCTCONTENT_OBJ>();
            List <TESTSTRUCTDETAIL_OBJ>  liTestStructDetail  = null;
            TESTSTRUCTCONTENT_BUS        bus = new TESTSTRUCTCONTENT_BUS();
            var res = bus.getAllBy2("THEORDER", new fieldpara("PARENTCODE", code, 0));

            if (res != null && res.Count > 0)
            {
                ret = 1;
            }
            if (ret >= 0)
            {
                liTestStructContent = res;
            }
            else  // là nút lá-> get teststructdetail
            {
                TESTSTRUCTDETAIL_BUS bus2 = new TESTSTRUCTDETAIL_BUS();
                List <fieldpara>     lipa = new List <fieldpara>();
                lipa.Add(new fieldpara("TESTSTRUCTCODE", teststructcode, 0));
                lipa.Add(new fieldpara("TESTSTRUCTCONTENTCODE", code, 0));
                var res2 = bus2.getAllBy2("CODE", lipa.ToArray());
                if (res2 != null)
                {
                    ret = 2;
                    liTestStructDetail = res2;
                }
                bus2.CloseConnection();
            }
            bus.CloseConnection();

            return(Json(new { ret = ret, liTestStructContent = liTestStructContent, liTestStructDetail = liTestStructDetail }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="teststructcode"></param>
        /// <returns>trả về list</returns>
        public List <TESTSTRUCTDETAIL_OBJ> getDetailByTestStruct(string teststructcode)
        {
            TESTSTRUCTDETAIL_BUS        bus  = new TESTSTRUCTDETAIL_BUS();
            List <TESTSTRUCTDETAIL_OBJ> data = bus.getByTestStruct(teststructcode, ses.gUNIVERSITYCODE);

            bus.CloseConnection();
            return(data);
        }
Exemple #4
0
        public JsonResult Delete(List <String> code)
        {
            var ret   = 0;
            var error = false;

            if (code != null)
            {
                var bus = new TESTSTRUCT_BUS();
                for (var i = 0; i < code.Count; i++)
                {
                    if (code[i] != null)
                    {
                        var item = bus.GetByID(new TESTSTRUCT_OBJ.BusinessObjectID(code[i]));
                        if (item == null)
                        {
                            ret = -1; error = true; continue;
                        }
                        if (item.UNIVERSITYCODE != ses.gUNIVERSITYCODE)
                        {
                            ret = -4;
                        }
                        if (ret >= 0)
                        {
                            TESTSTRUCTDETAIL_BUS bus2 = new TESTSTRUCTDETAIL_BUS();
                            List <fieldpara>     lipa = new List <fieldpara>();
                            lipa.Add(new fieldpara("TESTSTRUCTCODE", code[i]));
                            lipa.Add(new fieldpara("UNIVERSITYCODE", ses.gUNIVERSITYCODE));
                            ret = new EXAMTIME_BUS().checkCode(null, lipa.ToArray());
                            var ret2 = bus2.checkCode(null, lipa.ToArray());
                            TESTSTRUCTCONTENT_BUS bus3 = new TESTSTRUCTCONTENT_BUS();
                            var ret3 = bus3.checkCode(null, lipa.ToArray());
                            if (ret != 0 || ret2 != 0 || ret3 != 0)
                            {
                                ret = -2;
                            }
                            else
                            {
                                ret = bus.delete(item._ID);
                            }
                        }
                        if (!error && ret < 0)
                        {
                            error = true;
                        }
                    }
                }
                bus.CloseConnection();
            }

            //   ret = error ? -1 : 0;
            return(Json(new
            {
                ret
            }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult Update(TESTSTRUCTDETAIL_OBJ obj)
        {
            TESTSTRUCTDETAIL_BUS bus = new TESTSTRUCTDETAIL_BUS();
            int ret = 0;
            int add = 0;
            TESTSTRUCTDETAIL_OBJ objTemp = null;

            //kiểm tra tồn tại cho trường hợp sửa
            if (!string.IsNullOrEmpty(obj.CODE))//edit
            {
                objTemp = bus.GetByID(new TESTSTRUCTDETAIL_OBJ.BusinessObjectID(obj.CODE));
            }
            else
            {
                objTemp = new TESTSTRUCTDETAIL_OBJ();
            }
            if (ret < 0)
            {
                //đó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));
            }
            //hết kiểm tra tồn tại bản ghi
            objTemp.SUBJECTCODE           = obj.SUBJECTCODE;
            objTemp.SUBJECTCONTENTCODE    = obj.SUBJECTCONTENTCODE;
            objTemp.TESTSTRUCTCODE        = obj.TESTSTRUCTCODE;
            objTemp.TESTSTRUCTCONTENTCODE = obj.TESTSTRUCTCONTENTCODE;
            objTemp.AMOUNT           = obj.AMOUNT;
            objTemp.TOTALMARK        = obj.TOTALMARK;
            objTemp.QUESTIONTYPECODE = obj.QUESTIONTYPECODE;
            //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);
            }
            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);
            }
            bus.CloseConnection();
            //some thing like that
            return(Json(new { ret = ret }, JsonRequestBehavior.AllowGet));
        }
        public TESTSTRUCTDETAIL_OBJ getTestStructDetail(string testStructCode, string subjectContentCode)
        {
            TESTSTRUCTDETAIL_BUS bus  = new TESTSTRUCTDETAIL_BUS();
            List <fieldpara>     lipa = new List <fieldpara>();

            lipa.Add(new fieldpara("TESTSTRUCTCODE", testStructCode, 0));
            lipa.Add(new fieldpara("SUBJECTCONTENTCODE", subjectContentCode, 0));
            lipa.Add(new fieldpara("UNIVERSITYCODE", ses.gUNIVERSITYCODE, 0));
            var data = bus.GetByKey(lipa.ToArray());

            bus.CloseConnection();
            return(data);
        }
        // GET: TestStructDetail
        public JsonResult getAllSearch(int page, int pageSize, string teststructcode, string code, bool codetype, string name, bool nametype,
                                       string note, bool notetype)
        {
            List <TESTSTRUCTDETAIL_OBJ> li;

            //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
            TESTSTRUCTDETAIL_BUS bus  = new TESTSTRUCTDETAIL_BUS();
            List <fieldpara>     lipa = new List <fieldpara>();

            lipa.Add(new fieldpara("TESTSTRUCTCODE", teststructcode, 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));
            }
            int countpage;
            int totalItem = 0;
            //order by theorder, with pagesize and the page
            var data = bus.getAllBy2("CODE", pageSize, page, out countpage, out totalItem, lipa);
            //Chỉ số đầu tiên của trang hiện tại (đã trừ -1)
            int startpage = (page - 1) * pageSize;

            return(Json(new
            {
                lst = data,             //Danh sách
                totalItem = totalItem,  // số lượng tất cả các bản ghi
                totalPage = countpage,  // số lượng trang
                startindex = startpage, //bắt đầu số trang
                ret = 0                 //ok
            }, 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);
        }