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