public IList <Yw_Subject> GetByPage(DtoQuestionSearch search) { string fields = "*"; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("Yw_Subject"); stringBuilder.Append(" Where 1 = 1"); int difficulty = -1; if (search.Difficulty.HasValue) { difficulty = (int)search.Difficulty.Value; stringBuilder.Append(" AND Ysj_Difficulty = @difficulty"); } int status = -1; if (search.SubjectStatus.HasValue) { status = (int)search.SubjectStatus.Value; if (status > 0) { stringBuilder.Append(" AND Ysj_Status = @status"); } } else { status = (int)SubjectStatusEnum.合格; stringBuilder.Append(" AND Ysj_Status != @status"); } int subjectType = -1; if (search.SubjectType.HasValue) { subjectType = (int)search.SubjectType.Value; if (subjectType > 0) { stringBuilder.Append(" AND Ysj_SubjectType = @subjectType"); } } string where = stringBuilder.ToString(); string orderby = "Ysj_CreateTime DESC"; return(base.QueryPaging <Yw_Subject>( fields, where, orderby, search.Pagination, new { difficulty = difficulty, status = status, subjectType = subjectType }).ToList()); }
public IList <int> GetSubjectIdsByKeyword(DtoQuestionSearch search) { if (search == null || string.IsNullOrWhiteSpace(search.Keyword)) { return(new List <int>()); } string field = "Ysi_SubjectId"; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("Yw_SubjectIndex"); stringBuilder.Append(" WHERE Ysi_Keyword = @keyword"); int difficulty = -1; if (search.Difficulty.HasValue) { difficulty = (int)search.Difficulty.Value; stringBuilder.Append(" AND Ysi_Difficulty = @difficulty"); } int status = -1; if (search.SubjectStatus.HasValue) { status = (int)search.SubjectStatus.Value; stringBuilder.Append(" AND Ysi_Status = @status"); } else//没有值,搜索除了合格的之外的数据 { status = (int)SubjectStatusEnum.合格; stringBuilder.Append(" AND Ysi_Status != @status"); } int subjectType = -1; if (search.SubjectType.HasValue) { subjectType = (int)search.SubjectType.Value; stringBuilder.Append(" AND Ysi_SubjectType = @subjectType"); } string where = stringBuilder.ToString(); string orderby = "Ysi_CreateTime DESC"; return(base.QueryPaging <int>( field, where, orderby, search.Pagination, new { keyword = search.Keyword, difficulty = difficulty, status = status, subjectType = subjectType }).ToList()); }
public void SubjectBll_GetSubjects_GetByIdShouldReturnValue() { var search = new DtoQuestionSearch() { Id = 10098 }; var result = bll.GetSubjects(search); Assert.IsNotNull(result); Assert.IsTrue(result.Count == 1); }
public void SubjectRepository_GetByPage_GetByKeywordShouldReturnValue() { int subjectId = 10049; var search = new DtoQuestionSearch() { Keyword = "sfsfsfsddd" }; var result = bll.GetSubjects(search); Assert.IsNotNull(result); Assert.AreEqual(subjectId, result.FirstOrDefault()?.Ysj_Id); }
public JsonResult GetQuestions(DtoQuestionSearch search) { //此处只需要合格状态的数据 search.SubjectStatus = SubjectStatusEnum.合格; SubjectBll bll = new SubjectBll(); IList <Yw_Subject> subjects = bll.GetSubjects(search); IEnumerable <SubjectViewModel> list = subjects.Select(s => SubjectViewModel.Create(s)); var table = AbhsTableFactory.Create(list, search.Pagination.TotalCount); return(Json(table, JsonRequestBehavior.AllowGet)); }
public JsonResult GetMyQuestions(DtoQuestionSearch search) { //if (!search.SubjectStatus.HasValue || (int)search.SubjectStatus.Value == 0) //{ // search.SubjectStatus= SubjectStatusEnum. //} SubjectBll bll = new SubjectBll(); IList <Yw_Subject> subjects = bll.GetSubjects(search); IEnumerable <SubjectViewModel> list = subjects.Select(s => SubjectViewModel.Create(s)); var table = AbhsTableFactory.Create(list, search.Pagination.TotalCount); return(Json(table, JsonRequestBehavior.AllowGet)); }
public IList <Yw_Subject> GetSubjects(DtoQuestionSearch search) { if (search.Id != 0) { return(SubjectService.GetSubjectsById(search)); } if (!string.IsNullOrWhiteSpace(search.Keyword)) { IList <int> subjectIds = SubjectIndexService.GetSubjectIdsByKeyword(search); return(SubjectService.GetSubjectsByIds(subjectIds)); } return(SubjectService.GetByPage(search)); }
public void SubjectRepository_GetByPage_GetByStatusShouldReturnValue() { SubjectRepository repository = new SubjectRepository(); var search = new DtoQuestionSearch() { SubjectStatus = SubjectStatusEnum.合格 }; var result = repository.GetByPage(search); Assert.IsNotNull(result); foreach (var item in result) { if (item.Ysj_Status != (int)SubjectStatusEnum.合格) { Assert.Fail(); } } }
public void SubjectRepository_GetByPage_GetByDifficultyShouldReturnValue() { SubjectRepository repository = new SubjectRepository(); var search = new DtoQuestionSearch() { Difficulty = DifficultyEnum.较易 }; var result = repository.GetByPage(search); Assert.IsNotNull(result); foreach (var item in result) { if (item.Ysj_Difficulty != (int)DifficultyEnum.较易) { Assert.Fail(); } } }
public IList <Yw_Subject> GetSubjectsById(DtoQuestionSearch search) { int id = search.Id; if (id < 10000 && id != 0) { throw new AbhsException(ErrorCodeEnum.IdOutOfRange, AbhsErrorMsg.IdOutOfRange); } string fields = "*"; string where = "Yw_Subject Where Ysj_Id = @id"; if (search.SubjectType.HasValue) { int subjectType = (int)search.SubjectType.Value; if (subjectType > 0) { where += " AND Ysj_SubjectType = " + subjectType.ToString(); } } int status = -1; if (search.SubjectStatus.HasValue) { status = (int)search.SubjectStatus.Value; if (status > 0) { where += " AND Ysj_Status = " + status.ToString(); } } else { status = (int)SubjectStatusEnum.合格; where += " AND Ysj_Status != " + status.ToString(); } string orderby = "Ysj_CreateTime DESC"; return(base.QueryPaging <Yw_Subject>( fields, where, orderby, search.Pagination, new { id = id }).ToList()); }
public ActionResult GetGroupedSubjects(DtoQuestionSearch search) { var subjectGroup = new SubjectGroupBll().GetBySubjectId(search.Id); IList <SubjectViewModel> list = new List <SubjectViewModel>(); if (subjectGroup != null && !string.IsNullOrWhiteSpace(subjectGroup.Ysg_RelSubjectId)) { var ids = subjectGroup.Ysg_RelSubjectId.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(s => int.Parse(s)); SubjectBll bll = new SubjectBll(); var subjects = bll.GetSubjectsByIds(ids); if (subjects != null && subjects.Count > 0) { list = subjects.Select(s => SubjectViewModel.Create(s)).ToList(); } } var table = AbhsTableFactory.Create(list, search.Pagination.TotalCount); return(Json(table, JsonRequestBehavior.AllowGet)); }
public void SubjectBll_GetSubjects_GetByDifficultyAndStatusShouldReturnValue() { var search = new DtoQuestionSearch() { Difficulty = DifficultyEnum.较易, SubjectStatus = SubjectStatusEnum.合格 }; var result = bll.GetSubjects(search); Assert.IsNotNull(result); foreach (var item in result) { if (item.Ysj_Status == (int)SubjectStatusEnum.合格 && item.Ysj_Difficulty == (int)DifficultyEnum.较易) { continue; } else { Assert.Fail(); } } }