public static void 修改正常试题(试题外部信息 problemOutside, 试题内容 problemContent, List<string> 分类列表, string 试题json字符串)
        {
            //using (TransactionScope scope = new TransactionScope())
            //{
                JObject bo = JObject.Parse(试题json字符串);
                var typeEnum = bo["outside"]["试题状态Enum"].ToString();
                if (typeEnum == "4")
                {
                    throw new Exception("正常试题不能改为草稿!");
                }
                LoveKaoExamEntities db = new LoveKaoExamEntities();
                试题外部信息表 outsideTable = db.试题外部信息表.FirstOrDefault(a => a.ID == problemOutside.ID);
                异常处理.删除修改权限判断(outsideTable.创建人ID);
                if (outsideTable.试题状态Enum == 1)
                {
                    throw new Exception("该试题已被删除!");
                }
                outsideTable.最新更新时间 = DateTime.Now;
                outsideTable.难易度 = problemOutside.难易度;

                if (problemContent != null)
                {
                    outsideTable.试题查询内容 = problemContent.生成查询内容();
                    outsideTable.试题显示列 = problemContent.生成试题显示列();
                    outsideTable.试题内容ID = problemContent.ID;
                }
                List<string> listBelongSort = 所属分类.所属分类处理(分类列表, outsideTable.创建人ID, db);
                所属分类.修改相关信息更新所属分类(listBelongSort, 0, outsideTable.创建人ID, outsideTable.ID, db);

                if (problemContent != null)
                {
                    string json字符串 = bo["content"].ToString();
                    problemContent.保存(db, json字符串);
                }
                if (problemContent == null)
                {
                    db.SaveChanges();
                }
               // scope.Complete();
               // }
        }
 public static void 保存试题相关信息(int 类型,试题外部信息 problemOutside, 试题内容 problemContent, List<string> 分类列表, string 试题json字符串,LoveKaoExamEntities db)
 {
     List<string> listBelongSort = 所属分类.所属分类处理(分类列表, problemOutside.创建人ID, db);
     problemOutside.最新更新时间 = DateTime.Now;
     problemOutside.创建时间 = DateTime.Now;
     problemContent.爱考网ID = problemContent.ID;
     problemOutside.ID = problemContent.试题外部信息ID;
     problemOutside.爱考网ID = problemOutside.ID;
     保存试题(problemOutside, problemContent, 分类列表, 试题json字符串, 类型, db);
 }
        private static void 修改草稿试题(试题外部信息 problemOutside,试题内容 problemContent, List<string> 分类列表, string 试题json字符串)
        {
            //using (TransactionScope scope = new TransactionScope())
            //{
                LoveKaoExamEntities db = new LoveKaoExamEntities();
                试题外部信息表 outsideTable = db.试题外部信息表.FirstOrDefault(a => a.ID == problemOutside.ID);
                List<string> listBelongSort = 所属分类.所属分类处理(分类列表, outsideTable.创建人ID, db);
                if (outsideTable.试题状态Enum == 1)
                {
                    throw new Exception("该试题已被删除!");
                }
                //原试题内容ID
                Guid oldContentId = outsideTable.试题内容ID;
                outsideTable.试题状态Enum = problemOutside.试题状态Enum;
                outsideTable.最新更新时间 = DateTime.Now;

                if (problemContent != null)
                {
                    outsideTable.试题查询内容 = problemContent.生成查询内容();
                    outsideTable.试题显示列 = problemContent.生成试题显示列();
                    outsideTable.试题内容ID = problemContent.ID;
                }

                所属分类.修改相关信息更新所属分类(listBelongSort, 0, outsideTable.创建人ID, outsideTable.ID, db);

                if (problemContent != null)
                {
                    outsideTable.试题内容ID = problemContent.ID;
                    试题内容表 dbContent = db.试题内容表.FirstOrDefault(a => a.ID == oldContentId);
                    List<自由题空格表> listSpace = db.自由题空格表.Where(a=>a.试题内容ID==oldContentId).ToList();
                    if (listSpace.Count != 0)
                    {
                        List<Guid> listGroupId = listSpace.Where(a => a.自由题选项组ID != null).GroupBy(a => a.自由题选项组ID).Select(a => a.Key.Value).ToList();
                        if (listGroupId.Count != 0)
                        {
                            List<自由题选项组表> listGroup = db.自由题选项组表.Where(a => listGroupId.Contains(a.ID)).ToList();
                            foreach (var group in listGroup)
                            {
                                db.自由题选项组表.DeleteObject(group);
                            }
                        }
                    }
                    db.试题内容表.DeleteObject(dbContent);
                    JObject bo = JObject.Parse(试题json字符串);
                    string json字符串 = bo["content"].ToString();
                    problemContent.保存(db, json字符串);
                }
                if (problemContent == null)
                {
                    db.SaveChanges();
                }
                //scope.Complete();
            //}
        }
 public static Dictionary<Guid, Guid> 保存下载试卷中试题(试题外部信息 problemOutside,试题内容 试题内容, List<string> 所属分类集合, string 分站试题Json
     ,bool 是否只保存试题内容, LoveKaoExamEntities db)
 {
     Guid outsideLoveKaoId = 试题内容.试题外部信息ID;
     Guid contentLoveKaoId = 试题内容.ID;
     试题内容.ID = Guid.NewGuid();
     试题内容.爱考网ID = contentLoveKaoId;
     if (是否只保存试题内容 == false)
     {
         试题外部信息表 outside = new 试题外部信息表();
         outside.ID = Guid.NewGuid();
         outside.爱考网ID = outsideLoveKaoId;
         outside.试题类型 = 2;
         outside.创建人ID = 用户信息.CurrentUser.用户ID;
         outside.创建时间 = problemOutside.创建时间;
         outside.试题查询内容 = 试题内容.生成查询内容();
         outside.试题内容ID = 试题内容.ID;
         outside.试题显示列 = 试题内容.生成试题显示列();
         outside.试题状态Enum = 0;
         outside.小题型Enum = 试题内容.小题型Enum;
         outside.最新更新时间 = problemOutside.最新更新时间;
         outside.难易度 = 0.5m;
         试题内容.试题外部信息ID = outside.ID;
         db.试题外部信息表.AddObject(outside);
         所属分类.添加相关信息所属分类(所属分类集合, outside.创建人ID, outside.ID, 0, db);
     }
     else
     {
         Guid outsideId = db.试题外部信息表.Where(a => a.创建人ID == 用户信息.CurrentUser.用户ID
             && a.爱考网ID == problemOutside.爱考网ID).First().ID;
         试题内容.试题外部信息ID = outsideId;
     }
     JObject bo = JObject.Parse(分站试题Json);
     string json字符串 = bo["content"].ToString();
     试题内容.操作人ID = 用户信息.CurrentUser.用户ID;
     试题内容.难易度 = 0.5m;
     试题内容.保存(db, json字符串);
     Dictionary<Guid, Guid> dic = new Dictionary<Guid, Guid>();
     dic.Add(contentLoveKaoId, 试题内容.ID);
     return dic;
 }
 private static void 保存试题(试题外部信息 problemOutside, 试题内容 problemContent, List<string> 分类列表, string 试题json字符串,int 类型, LoveKaoExamEntities db)
 {
     if (类型 == 1)
     {
         problemOutside.创建人ID = 用户信息.CurrentUser.用户ID;
         problemContent.操作人ID = 用户信息.CurrentUser.用户ID;
     }
     试题外部信息表 outside = new 试题外部信息表();
     outside.ID = problemOutside.ID;
     outside.爱考网ID = problemOutside.爱考网ID;
     outside.试题类型 = problemOutside.试题类型;
     outside.创建人ID = problemOutside.创建人ID;
     outside.创建时间 = problemOutside.创建时间;
     outside.最新更新时间 = problemOutside.最新更新时间;
     outside.试题状态Enum = problemOutside.试题状态Enum;
     outside.小题型Enum = problemOutside.小题型Enum;
     if (类型 == 1)
     {
         Guid contentLoveKaoId = problemContent.ID;
         problemContent.ID = Guid.NewGuid();
         problemContent.爱考网ID = contentLoveKaoId;
         problemContent.试题外部信息ID = problemOutside.ID;
     }
     outside.试题内容ID = problemContent.ID;
     outside.试题查询内容 = problemContent.生成查询内容();
     outside.试题显示列 = problemContent.生成试题显示列();
     outside.难易度 = problemOutside.难易度;
     using (TransactionScope scope = new TransactionScope())
     {
         db.试题外部信息表.AddObject(outside);
         所属分类.添加相关信息所属分类(分类列表, outside.创建人ID, outside.ID, 0, db);
         //db.SaveChanges();
         JObject bo = JObject.Parse(试题json字符串);
         string json字符串 = bo["content"].ToString();
         problemContent.难易度 = outside.难易度;
         problemContent.保存(db, json字符串);
         scope.Complete();
     }
 }