Exemplo n.º 1
0
        public JsonResult Delete(List <string> liId, string coursecode)
        {
            var ret = 0;

            if (liId != null)
            {
                var bus = new COURSECONTENT_BUS();
                foreach (var id in liId)
                {
                    var item = bus.GetByKey(new fieldpara("SUBJECTCONTENTCODE", id, 0),
                                            new fieldpara("COURSECODE", coursecode, 0),
                                            new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
                    if (item == null)
                    {
                        ret = -2;
                        continue;
                    }
                    if (item.UNIVERSITYCODE != _ses.gUNIVERSITYCODE)
                    {
                        ret = -4;
                    }
                    if (ret >= 0)
                    {
                        ret = bus.delete(item._ID);
                    }
                }
                bus.CloseConnection();
            }
            return(Json(new
            {
                ret
            }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public JsonResult Update(List <string> liSubjectContentCode, string coursecode, string subjectcode)
        {
            COURSECONTENT_BUS bus = new COURSECONTENT_BUS();
            int ret = 0;
            COURSECONTENT_OBJ        objTemp = new COURSECONTENT_OBJ();
            List <COURSECONTENT_OBJ> li      = new List <COURSECONTENT_OBJ>(); // danh sách sẽ insert vào csdl

            if (liSubjectContentCode == null || liSubjectContentCode.Count <= 0)
            {
                ret = -1;
            }
            else
            {
                string tempCode = bus.genNextCode(objTemp);
                foreach (var subjectcontentcode in liSubjectContentCode)
                {
                    objTemp = bus.GetByKey(new fieldpara("SUBJECTCONTENTCODE", subjectcontentcode, 0),
                                           new fieldpara("COURSECODE", coursecode, 0),
                                           new fieldpara("SUBJECTCODE", subjectcode, 0));
                    if (objTemp == null)
                    {
                        objTemp = new COURSECONTENT_OBJ {
                            CODE = tempCode
                        };
                        tempCode = bus.genNextCode(objTemp, tempCode);
                        //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.SUBJECTCODE        = subjectcode;
                        objTemp.UNIVERSITYCODE     = _ses.gUNIVERSITYCODE;
                        objTemp.LOCK               = 0;
                        objTemp.COURSECODE         = coursecode;
                        objTemp.SUBJECTCONTENTCODE = subjectcontentcode;
                        objTemp.LANG               = _ses.getLang();
                        objTemp.LOCKDATE           = DateTime.Now;
                        li.Add(objTemp);
                    }
                }
            }
            bus.BeginTransaction();
            if (li.Count > 0)
            {
                ret = bus.InsertMultiItems(li);
                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();
            //some thing like that
            return(Json(new { ret }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        public JsonResult GetList(string coursecode)
        {
            var ret = -1;
            List <COURSECONTENT_OBJ> li;
            COURSECONTENT_BUS        bus  = new COURSECONTENT_BUS();
            List <fieldpara>         lipa = new List <fieldpara>();

            lipa.Add(new fieldpara("COURSECODE", coursecode, 0));
            lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
            li = bus.getAllBy2("THEORDER", lipa.ToArray());
            bus.CloseConnection();
            List <SUBJECTCONTENT_OBJ> listSubjectContent = null; // list subjectcontent tương ứng

            if (li != null)
            {
                ret = 0;
            }
            if (ret >= 0)
            {
                listSubjectContent = new List <SUBJECTCONTENT_OBJ>();
                SUBJECTCONTENT_BUS subjectcontentBus = new SUBJECTCONTENT_BUS();
                if (li != null)
                {
                    foreach (var item in li)
                    {
                        var subjectContent =
                            subjectcontentBus.GetByID(new SUBJECTCONTENT_OBJ.BusinessObjectID(item.SUBJECTCONTENTCODE));
                        if (subjectContent != null)
                        {
                            subjectContent.NOTE = "";
                            listSubjectContent.Add(subjectContent);
                        }
                    }
                }
                subjectcontentBus.CloseConnection();
            }
            return(Json(new { data = li, lst = listSubjectContent, ret }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 4
0
        public JsonResult Delete(List <string> code)
        {
            //cho phep xoa hay khong
            //ret= -2 ;//sử dụng trong trường hợp xóa đơn một bản ghi có tham chiếu
            // ret= 0 : không có gì để xóa
            //ret = 1: //xóa thành công
            //ret= -3 : Bản ghi hiện tại không còn trong hệ thống, truy cập trái phép
            SUBJECTCONTENT_BUS subjectcontentBus = new SUBJECTCONTENT_BUS();
            List <fieldpara>   lipa             = new List <fieldpara>();
            COURSECONTENT_BUS  coursecontentBus = new COURSECONTENT_BUS();
            var ret = 0;
            List <SUBJECTCONTENT_OBJ.BusinessObjectID> deleteList = new List <SUBJECTCONTENT_OBJ.BusinessObjectID>();

            foreach (string item in code)
            {
                var subjectcontent = subjectcontentBus.GetByID(new SUBJECTCONTENT_OBJ.BusinessObjectID(item));
                //check xem course co ton tai ban ghi phu thuoc nao khong
                if (subjectcontent == null)
                {
                    ret = -3;
                    return(Json(new
                    {
                        ret
                    }, JsonRequestBehavior.AllowGet));
                }
                //kiểm tra xem có bản ghi con hay không
                //checkcode sẽ trả về là 0 nếu không có con
                // nhiều hơn 0 tức là tồn tại bản ghi con
                // nhỏ hơn 0 tức là lỗi hệ thống
                lipa.Clear();
                lipa.Add(new fieldpara("PARENTCODE", item, 0));
                lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
                var childrent = subjectcontentBus.checkCode(null, new fieldpara("PARENTCODE", item, 0)); // kiểm tra xem có bản ghi con hay ko
                lipa.Clear();
                lipa.Add(new fieldpara("SUBJECTCONTENTCODE", item, 0));
                lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
                var coursecontent = coursecontentBus.checkCode(null, lipa.ToArray()); // kiểm tra có bản ghi nào phụ thuộc vào nó hay ko
                //cho phép xóa thì nhét vào list xóa không thì không cho phép xóa nhưng cũng không cần thông báo
                //vì có trường hợp xóa nhiều bản ghi và chỉ xóa 1 bản ghi nên cần xác định rõ trước khi xóa một bản ghi cha nào đó thì có tồn tại liên kết đến bản ghi con hay không
                //bad request
                if (childrent < 0 || coursecontent < 0)
                {
                    ret = -3;
                    return(Json(new
                    {
                        ret
                    }, JsonRequestBehavior.AllowGet));
                }
                //add to delete list
                if (childrent == 0 && coursecontent == 0)
                {
                    deleteList.Add(subjectcontent._ID);
                }
            }
            //nếu phần tử nằm trong danh sách xóa có thì sẽ phải xóa
            //xóa 1 bản ghi và trong trường hợp muốn xóa đơn lẻ
            //mà bản ghi đưa vào không có ràng buộc bản ghi con
            //có 1 bản ghi và bản ghi đó không được phép xóa
            if (code.Count == 1 && deleteList.Count < 1)
            {
                ret = -2;
            }
            //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 (deleteList.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
                subjectcontentBus.BeginTransaction();
                ret = subjectcontentBus.DeletetMultiItems(deleteList);
                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()
                    subjectcontentBus.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
                    subjectcontentBus.CommitTransaction();
                }
            }

            coursecontentBus.CloseConnection();
            subjectcontentBus.CloseConnection();
            return(Json(new
            {
                ret
            }, JsonRequestBehavior.AllowGet));
        }