/// <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(); } }