public static void 修改正常试卷(List<string> 分类列表, 试卷内容 试卷内容, Guid 试卷外部信息ID, int 试卷状态Enum)
        {
            if (试卷状态Enum == 4)
            {
                throw new Exception("正常试卷不能改为草稿!");
            }
            LoveKaoExamEntities db = new LoveKaoExamEntities();
            试卷外部信息表 outside = db.试卷外部信息表.FirstOrDefault(a => a.ID == 试卷外部信息ID);
            异常处理.删除修改权限判断(outside.创建人ID);
            List<string> listBelongSort = 所属分类.所属分类处理(分类列表, outside.创建人ID, db);
            if (outside.试卷状态Enum == 1)
            {
                throw new Exception("该试卷已被删除!");
            }
            outside.最新更新时间 = DateTime.Now;
            if (试卷内容 != null)
            {
                outside.名称 = 试卷内容.名称;
                outside.试卷状态Enum = 0;
                outside.试卷内容ID = 试卷内容.ID;
                //计算试卷总分
                decimal totalScore= 试卷外部信息.计算试卷总分(试卷内容);
                outside.总分 = Convert.ToInt32(totalScore);
            }
            using (TransactionScope scope = new TransactionScope())
            {
                所属分类.修改相关信息更新所属分类(listBelongSort, 1, outside.创建人ID, outside.ID, db);

                if (试卷内容 != null)
                {
                    试卷内容.保存(db, 试卷内容.ID);
                }
                scope.Complete();
            }
        }
 public static void 修改草稿试卷(List<string> 分类列表, 试卷内容 试卷内容, Guid 试卷外部信息ID, byte 试卷状态Enum)
 {
     LoveKaoExamEntities db = new LoveKaoExamEntities();
     试卷外部信息表 outsideTable = db.试卷外部信息表.FirstOrDefault(a => a.ID == 试卷外部信息ID);
     List<string> listBelongSort = 所属分类.所属分类处理(分类列表, outsideTable.创建人ID, db);
     if (outsideTable.试卷状态Enum == 1)
     {
         throw new Exception("该试卷已被删除!");
     }
     outsideTable.试卷状态Enum = 试卷状态Enum;
     outsideTable.最新更新时间 = DateTime.Now;
     所属分类.修改相关信息更新所属分类(listBelongSort, 1, outsideTable.创建人ID, outsideTable.ID, db);
     if (试卷内容 != null)
     {
         试卷内容表 dbContent = db.试卷内容表.FirstOrDefault(a => a.ID == 试卷内容.ID);
         db.试卷内容表.DeleteObject(dbContent);
         //db.SaveChanges();
         试卷内容.保存(db, 试卷内容.ID);
         db.SaveChanges();
     }
 }
 /// <param name="类型">0保存本站试卷,1保存下载试卷</param>
 public static void 保存试卷相关信息(试卷内容 试卷内容, 试卷外部信息 试卷外部信息,int 类型)
 {
     LoveKaoExamEntities db = new LoveKaoExamEntities();
     List<string> listSort = 试卷外部信息.分类列表.ToList();
     if (类型 == 0)
     {
         listSort=所属分类.所属分类处理(listSort, 试卷外部信息.创建人ID, db);
     }
     else
     {
         所属分类.所属分类处理(listSort, 用户信息.CurrentUser.用户ID, db);
     }
     试卷外部信息表 testOutside = new 试卷外部信息表();
     testOutside.ID = 试卷内容.试卷外部信息ID;
     if (类型 == 0)
     {
         testOutside.创建人ID = 试卷内容.提交人ID;
     }
     else
     {
         testOutside.创建人ID = 用户信息.CurrentUser.用户ID;
     }
     testOutside.创建时间 = DateTime.Now;
     testOutside.最新更新时间 = DateTime.Now;
     testOutside.说明 = 试卷内容.说明;
     testOutside.试卷内容ID = 试卷内容.ID;
     testOutside.爱考网ID = 试卷外部信息.爱考网ID;
     testOutside.试卷类型 = 试卷外部信息.试卷类型;
     testOutside.名称 = 试卷内容.名称;
     testOutside.试卷状态Enum = 试卷外部信息.试卷状态Enum;
     //保存的是正常试卷,则计算总分,是草稿则不需计算
     if (试卷外部信息.试卷状态Enum == 0)
     {
         //计算试卷总分
         decimal totalScore =  试卷外部信息.计算试卷总分(试卷内容);
         testOutside.总分 = Convert.ToInt32(totalScore);
     }
     using (TransactionScope scope = new TransactionScope())
     {
         if (类型 == 0)
         {
             所属分类.添加相关信息所属分类(listSort, testOutside.创建人ID, testOutside.ID, 1, db);
         }
         else
         {
             所属分类.添加相关信息所属分类(listSort, 用户信息.CurrentUser.用户ID, testOutside.ID, 1, db);
         }
         db.试卷外部信息表.AddObject(testOutside);
         if (类型 == 0)
         {
             试卷内容.保存(db, 试卷内容.ID);
         }
         else
         {
             试卷内容.保存下载试卷(db, listSort);
         }
         scope.Complete();
     }
 }