示例#1
0
        public JsonResult Delete(List <string> code)
        {
            var ret = 0;
            var bus = new EXAMTIME_BUS();
            List <EXAMTIME_OBJ.BusinessObjectID> deletedata = new List <EXAMTIME_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 EXAMTIME_OBJ.BusinessObjectID(t));
                        if (item != null)
                        {
                            lipa.Clear();
                            lipa.Add(new fieldpara("EXAMTIMECODE", t, 0));
                            lipa.Add(new fieldpara("UNIVERSITYCODE", _ses.gUNIVERSITYCODE, 0));
                            ret = new EXAMHALL_BUS().checkCode(null, lipa.ToArray());
                            var ret1 = new EXAMHALLSTUDENT_BUS().checkCode(null, lipa.ToArray());
                            var ret2 = new EXAMFORM_BUS().checkCode(null, lipa.ToArray());
                            if (ret == 0 && ret1 == 0 && ret2 == 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));
        }