/// <summary> /// 添加实体信息,返回添加成功后的主键ID /// </summary> public int Insert(JudgeItem judge) { int id = 0; const string sql = @"INSERT INTO JudgeItem(AgencyID, ChapterID, IsVipItem, Title, Image, Answer, Annotation, Difficulty, AddPerson) VALUES (@AgencyID, @ChapterID, @IsVipItem, @Title, @Image, @Answer, @Annotation, @Difficulty, @AddPerson); SELECT LAST_INSERT_ID();"; using (DbConnection connection = ConnectionManager.OpenConnection) { id = connection.Query<int>(sql, judge).SingleOrDefault<int>(); } return id; }
public JudgeItemDTO(JudgeItem judgeItem) { this.ID = judgeItem.ID; this.AgencyID = judgeItem.AgencyID; this.ChapterID = judgeItem.ChapterID; this.IsVipItem = judgeItem.IsVipItem; this.Title = judgeItem.Title; this.Image = judgeItem.Image; this.Answer = judgeItem.Answer; this.Annotation = judgeItem.Annotation; this.Difficulty = judgeItem.Difficulty; this.AddPerson = judgeItem.AddPerson; this.AddTime = judgeItem.AddTime; }
/// <summary> /// 添加判断题 /// </summary> public ServiceInvokeDTO AddJudge(JudgeItem judge) { log.Debug(Constant.DEBUG_START); ServiceInvokeDTO result = null; try { judgeDAL.Insert(judge); result = new ServiceInvokeDTO(InvokeCode.SYS_INVOKE_SUCCESS); } catch (Exception ex) { log.Error(ex); throw ex; } log.Debug(Constant.DEBUG_END); return result; }
/// <summary> /// 更新判断题 /// </summary> public ServiceInvokeDTO UpdateJudge(JudgeItem judge) { log.Debug(Constant.DEBUG_START); ServiceInvokeDTO result = null; try { JudgeItem dbJudge = judgeDAL.GetByID(judge.ID); if (dbJudge != null) { judgeDAL.Update(judge); result = new ServiceInvokeDTO(InvokeCode.SYS_INVOKE_SUCCESS); } else { result = new ServiceInvokeDTO(InvokeCode.SYS_OBJECT_NOT_EXIST_ERROR); } } catch (Exception ex) { log.Error(ex); throw ex; } log.Debug(Constant.DEBUG_END); return result; }
/// <summary> /// 更新实体信息 /// </summary> public void Update(JudgeItem judge) { const string sql = @"UPDATE JudgeItem SET ChapterID = @ChapterID, IsVipItem= @IsVipItem, Title= @Title, Image = @Image, Answer = @Answer, Annotation = @Annotation, Difficulty = @Difficulty WHERE IsDeleted = 0 AND ID = @ID"; using (DbConnection connection = ConnectionManager.OpenConnection) { connection.Execute(sql, judge); } }
public ActionResult UpdateJudge() { log.Debug(Constant.DEBUG_START); string idString = ApiQueryUtil.QueryArgByPost("id"); string isVipItemString = ApiQueryUtil.QueryArgByPost("is_vip_item"); string chapterIDString = ApiQueryUtil.QueryArgByPost("chapter_id"); string title = ApiQueryUtil.QueryArgByPost("title"); HttpPostedFileBase imageFile = Request.Files["image"]; string answerString = ApiQueryUtil.QueryArgByPost("answer"); string annotation = ApiQueryUtil.QueryArgByPost("annotation"); string difficultyString = ApiQueryUtil.QueryArgByPost("difficulty"); ServiceInvokeDTO result = null; try { JudgeItem judge = new JudgeItem(); judge.ID = Convert.ToInt32(idString); judge.IsVipItem = Convert.ToInt32(isVipItemString); judge.ChapterID = Convert.ToInt32(chapterIDString); judge.Title = title; judge.Answer = Convert.ToInt32(answerString); judge.Annotation = annotation; judge.Difficulty = Convert.ToInt32(difficultyString); if (imageFile != null) { byte[] imageBytes = null; using (Stream inputStream = imageFile.InputStream) { MemoryStream memoryStream = inputStream as MemoryStream; if (memoryStream == null) { memoryStream = new MemoryStream(); inputStream.CopyTo(memoryStream); } imageBytes = memoryStream.ToArray(); } judge.Image = imageBytes; } AgencyAdminDTO currentAdmin = Session[Constant.SESSION_KEY_ADMIN] as AgencyAdminDTO; ServiceInvokeDTO checkResult = permissionService.CheckPermission(DoActionType.UpdateJudge, currentAdmin.Agency.ID, judge.ID); if (checkResult.Code == InvokeCode.SYS_INVOKE_SUCCESS) { result = itemDataService.UpdateJudge(judge); // Write admin do record. if (result != null && result.Code == InvokeCode.SYS_INVOKE_SUCCESS) { AdminDoRecord doRecord = new AdminDoRecord(); doRecord.AdminID = currentAdmin.ID; doRecord.AdminName = currentAdmin.ChineseName; doRecord.DoTime = DateTime.Now; doRecord.DoName = DoActionType.UpdateJudge.GetDescription(); doRecord.DoContent = string.Format("被更新的主键ID:{0}", idString); doRecord.Remark = string.Empty; recordDataService.AddAdminDoRecord(doRecord); } } else { result = checkResult; } } catch (Exception ex) { log.Error(ex); result = new ServiceInvokeDTO(InvokeCode.SYS_INNER_ERROR); } string json = JsonConvert.SerializeObject(result, Formatting.Indented, Constant.TIME_CONVERTER); log.Debug(Constant.DEBUG_END); return Content(json, Constant.JSON_MIME_TYPE); }
/// <summary> /// 读取判断题题库模板数据 /// </summary> /// <param name="adminDTO">管理员对象</param> /// <param name="courseID">课程主键ID</param> /// <param name="fileName">Excel文件路径名称</param> /// <param name="isFirstRowTitle">第一行是否为标题</param> public static List<JudgeItem> ReadJudgeTemplate(AgencyAdminDTO adminDTO, int courseID, string fileName, bool isFirstRowTitle) { List<JudgeItem> judges = new List<JudgeItem>(); // 获取所有章节 ServiceInvokeDTO<List<Chapter>> chaptersResult = ServiceFactory.Instance.ItemDataService.GetAgencyChapters(courseID); if (chaptersResult.Code == InvokeCode.SYS_INVOKE_SUCCESS && chaptersResult.Data != null && chaptersResult.Data.Count > 0) { List<Chapter> chapters = chaptersResult.Data; using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { // 默认读取第一张表 IWorkbook workBook = WorkbookFactory.Create(fs); ISheet sheet = workBook.GetSheetAt(0); int startRowIndex = 0; if (isFirstRowTitle && sheet.LastRowNum >= 1) { startRowIndex = 1; } for (int index = startRowIndex; index <= sheet.LastRowNum; index++) { IRow row = sheet.GetRow(index); if (row != null) { // 题库类型 ICell isVipItemCell = row.GetCell(0); if (isVipItemCell == null) { throw new ArgumentException(TEXT_EMPTY_ERROR); } string isVipItem = isVipItemCell.ToString().Trim(); if (!isVipItem.Equals(IS_VIP_ITEM_NO) && !isVipItem.Equals(IS_VIP_ITEM_YES)) { throw new ArgumentException(IS_VIP_ITEM_ERROR); } // 所属章节 ICell chapterCell = row.GetCell(1); if (chapterCell == null) { throw new ArgumentException(TEXT_EMPTY_ERROR); } string chapterName = chapterCell.ToString().Trim(); int chapterID = 0; foreach (var chapter in chapters) { if (chapterName.Equals(chapter.Name)) { chapterID = chapter.ID; break; } } if (chapterID == 0) { throw new ArgumentException(CHAPTER_ID_ERROR); } ICell titleCell = row.GetCell(2); if (titleCell == null) { throw new ArgumentException(TEXT_EMPTY_ERROR); } // 答案 ICell amswerCell = row.GetCell(3); if (amswerCell == null) { throw new ArgumentException(TEXT_EMPTY_ERROR); } string answerString = amswerCell.ToString().Trim().ToUpper(); if (!answerString.Equals(ANSWER_CORRECT) && !answerString.Equals(ANSWER_ERROR)) { throw new ArgumentException(ANSWER_ARG_ERROR); } // 试题难易度 ICell difficltyCell = row.GetCell(5); if (difficltyCell == null) { throw new ArgumentException(TEXT_EMPTY_ERROR); } string difficltyString = difficltyCell.ToString().Trim(); int difficulty = 0; if (int.TryParse(difficltyString, out difficulty)) { if (difficulty < DIFFICULTY_MIN || difficulty > DIFFICULTY_MAX) { throw new ArgumentException(DIFFICULTY_ARG_ERROR); } } else { throw new ArgumentException(DIFFICULTY_ARG_ERROR); } JudgeItem judge = new JudgeItem(); judge.AgencyID = adminDTO.Agency.ID; judge.ChapterID = chapterID; judge.IsVipItem = isVipItem.Equals(IS_VIP_ITEM_YES) ? 1 : 0; judge.Title = titleCell.ToString(); judge.Answer = answerString.Equals(ANSWER_CORRECT) ? 1 : 0; judge.Annotation = row.GetCell(4) == null ? string.Empty : row.GetCell(4).ToString(); judge.Difficulty = difficulty; judge.AddPerson = adminDTO.ChineseName; judges.Add(judge); } } } } else { throw new ArgumentException(CHAPTER_ID_ERROR); } return judges; }