예제 #1
0
        public JsonResult GetById(string id)
        {
            SUBJECTCONTENT_OBJ obj = null;

            if (!string.IsNullOrEmpty(id))
            {
                SUBJECTCONTENT_BUS bus = new SUBJECTCONTENT_BUS();
                obj = bus.GetByID(new SUBJECTCONTENT_OBJ.BusinessObjectID(id));
            }
            return(Json(new { data = obj }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public JsonResult Update(SUBJECTCONTENT_OBJ obj, string EXAMTIMECODE)
        {
            SUBJECTCONTENT_BUS bus = new SUBJECTCONTENT_BUS();
            //kiểm tra tồn tại cho trường hợp sửa
            int ret = 0;
            int add = 0;
            //Đề nghị viết đầy đủ cho rõ nghĩa hơn, dễ debug không nên quá tiết kiệm
            var objTemp = !string.IsNullOrEmpty(obj.CODE)
                ? bus.GetByID(new SUBJECTCONTENT_OBJ.BusinessObjectID(obj.CODE))
                : new SUBJECTCONTENT_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.LOCK       = obj.LOCK;
            objTemp.NOTE       = obj.NOTE;
            objTemp.THEORDER   = obj.THEORDER;
            objTemp.PARENTCODE = obj.PARENTCODE;
            if (obj.PARENTCODE == null)
            {
                objTemp.PARENTCODE = "";
            }
            objTemp.CONTENTTYPE    = obj.CONTENTTYPE;
            objTemp.SUBJECTCODE    = obj.SUBJECTCODE;
            objTemp.UNIVERSITYCODE = _ses.gUNIVERSITYCODE;

            objTemp.LANG = _ses.getLang();
            List <string> listSourcePath      = _ses.tSOURCEPATHSESSION;
            List <string> listDestinationPath = _ses.tDESTINATIONPATHSESSION;

            if (objTemp.NOTE != null && listDestinationPath != null)
            {
                for (int i = 0; i < listSourcePath.Count; i++)
                {
                    if (objTemp.NOTE.Contains((listSourcePath[i])))
                    {
                        objTemp.NOTE = objTemp.NOTE.Replace(listSourcePath[i], listDestinationPath[i]);
                    }
                }
            }
            //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;
            }
            //Thêm hoặc sửa lại bản ghi SubjectContentTest
            CONTENTTYPE_BUS busContentType = new CONTENTTYPE_BUS();
            CONTENTTYPE_OBJ objContentType = busContentType.GetByID(new CONTENTTYPE_OBJ.BusinessObjectID(objTemp.CONTENTTYPE));

            busContentType.CloseConnection();
            if (objContentType == null)
            {
                ret = -5;
            }

            SUBJECTCONTENTTEST_BUS busSubjectContentTest = new SUBJECTCONTENTTEST_BUS();
            SUBJECTCONTENTTEST_OBJ objSubjectContentTest = null;

            if (ret >= 0)
            {
                if (objContentType.CODEVIEW == "BT" || objContentType.CODEVIEW == "KT" ||
                    objContentType.CODEVIEW == "TH")
                {
                    objSubjectContentTest                    = new SUBJECTCONTENTTEST_OBJ();
                    objSubjectContentTest.NAME               = objTemp.NAME;
                    objSubjectContentTest.EDITTIME           = DateTime.Now;
                    objSubjectContentTest.EDITUSER           = _ses.loginCode;
                    objSubjectContentTest.EXAMTIMECODE       = EXAMTIMECODE;
                    objSubjectContentTest.EXAMFORMCODE       = ""; //Chưa chọn sẵn sẽ sinh sau
                    objSubjectContentTest.LOCK               = 0;
                    objSubjectContentTest.NOTE               = objTemp.NOTE;
                    objSubjectContentTest.SUBJECTCONTENTCODE = objTemp.CODE;
                    objSubjectContentTest.UNIVERSITYCODE     = _ses.gUNIVERSITYCODE;
                    CONTENTTYPEQUESTIONUSE_BUS busContenttypequestionuse = new CONTENTTYPEQUESTIONUSE_BUS();
                    CONTENTTYPEQUESTIONUSE_OBJ objContenttypequestionuse =
                        busContenttypequestionuse.GetByKey(new fieldpara("CONTENTTYPECODE", objContentType.CODE));
                    busContenttypequestionuse.CloseConnection();
                    if (objContenttypequestionuse != null)
                    {
                        objSubjectContentTest.QUESTIONUSECODE = objContenttypequestionuse.QUESTIONUSECODE;
                    }
                    else
                    {
                        ret = -6;
                    }
                    //objTemp.CONTENTTYPE
                }
            }
            bus.BeginTransaction();
            busSubjectContentTest.setConnection(bus);
            if (ret >= 0)
            {
                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)
            {
                if (add != 1 && objSubjectContentTest != null)
                {
                    ret = busSubjectContentTest.Delete(new fieldpara("SUBJECTCONTENTCODE", objTemp.CODE));
                }
                if (ret >= 0 && objSubjectContentTest != null)
                {
                    ret = busSubjectContentTest.Insert(objSubjectContentTest);
                }
            }
            if (ret < 0)
            {
                bus.RollbackTransaction();
            }
            else
            {
                if (_ses.tSOURCEPATHSESSION != null)
                {
                    _ses.tSOURCEPATHSESSION.Clear();
                    _ses.tDESTINATIONPATHSESSION.Clear();
                }
                bus.CommitTransaction();
            }
            bus.CloseConnection();
            return(Json(new
            {
                node = objTemp, ret,
                code = objTemp.CODE
            }, JsonRequestBehavior.AllowGet));
        }