/// <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));
        }
Exemple #2
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));
        }
Exemple #3
0
        // lấy danh sách các đề thi
        public JsonResult GetAll(string subjectCode)
        {
            var ret = 0;
            //Lây dữ iệu
            TESTSTRUCT_BUS   bus  = new TESTSTRUCT_BUS();
            List <fieldpara> lipa = new List <fieldpara> {
                new fieldpara("UNIVERSITYCODE", ses.gUNIVERSITYCODE, 0)
            };

            //Lọc đơn vị cấp trên; '' sẽ là không co đơn vị cấp trên
            if (!string.IsNullOrEmpty(subjectCode))
            {
                lipa.Add(new fieldpara("SUBJECTCODE", subjectCode, 0));
            }
            //order by theorder, with pagesize and the page
            var liTestStruct = bus.getAllBy2("CODE ", lipa.ToArray());

            TESTSTRUCTCONTENT_BUS busTestStructContent = new TESTSTRUCTCONTENT_BUS();
            var liTestStructContent = busTestStructContent.getAllBy2("CODE", lipa.ToArray());

            // dữ liệu trả về là join giữa liTestStruct và liTestStructContent
            if (liTestStruct == null || liTestStructContent == null)
            {
                ret = -1;
            }
            if (ret >= 0)
            {
                if (liTestStruct != null)
                {
                    foreach (var item in liTestStruct)
                    {
                        TESTSTRUCTCONTENT_OBJ objTemp = new TESTSTRUCTCONTENT_OBJ();
                        objTemp.CODE           = item.CODE;
                        objTemp.SUBJECTCODE    = item.SUBJECTCODE;
                        objTemp.NAME           = item.NAME;
                        objTemp.PARENTCODE     = "";
                        objTemp.TESTSTRUCTCODE = item.CODE;
                        objTemp.UNIVERSITYCODE = ses.gUNIVERSITYCODE;
                        if (liTestStructContent != null) //ko null thì add vào
                        {
                            liTestStructContent.Add(objTemp);
                        }
                    }
                }
            }
            bus.CloseConnection();
            //Chỉ số đầu tiên của trang hiện tại (đã trừ -1)
            //Trả về cho client
            return(Json(new { data = liTestStructContent, liTestStruct, ret }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult Update(TESTSTRUCTCONTENT_OBJ obj)
        {
            TESTSTRUCTCONTENT_BUS bus = new TESTSTRUCTCONTENT_BUS();
            int ret = 0;
            int add = 0;
            TESTSTRUCTCONTENT_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 TESTSTRUCTCONTENT_OBJ.BusinessObjectID(obj.CODE));
            }
            else
            {
                objTemp = new TESTSTRUCTCONTENT_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.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.SUBJECTCODE    = obj.SUBJECTCODE;
            objTemp.TESTSTRUCTCODE = obj.TESTSTRUCTCODE;
            objTemp.PARENTCODE     = obj.PARENTCODE;
            objTemp.NOTE           = obj.NOTE;
            objTemp.LOCK           = obj.LOCK;
            objTemp.THEORDER       = obj.THEORDER;
            objTemp.TOTALTIME      = obj.TOTALTIME;
            objTemp.UNIVERSITYCODE = ses.gUNIVERSITYCODE;
            //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>();
                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 { obj = objTemp.CODE, ret = ret, pagecount = pagecount, currentpage = currentpage }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult Delete(List <string> code)
        {
            var ret = 0;
            var bus = new TESTSTRUCTCONTENT_BUS();
            List <TESTSTRUCTCONTENT_OBJ.BusinessObjectID> deletedata = new List <TESTSTRUCTCONTENT_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 TESTSTRUCTCONTENT_OBJ.BusinessObjectID(t));
                        if (item != null)
                        {
                            lipa.Clear();
                            lipa.Add(new fieldpara("PARENTCODE", t, 0));
                            lipa.Add(new fieldpara("UNIVERSITYCODE", ses.gUNIVERSITYCODE, 0));
                            ret = bus.checkCode(null, lipa.ToArray());
                            if (ret == 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));
        }