public void CourseRepository_GetByPage_ShouldReturnValue() { var search = new DtoCurriculumSearch(); var result = new CourseRepository().GetByPage(search); Assert.IsNotNull(result); }
public IList <DtoCourseListItem> GetByPage(DtoCurriculumSearch search) { Check.IfNull(search, nameof(search)); string fields = "t.*, e.bem_Name AS Ycs_OwnerName"; StringBuilder builder = new StringBuilder(); builder.Append("Yw_Course as t"); builder.Append(" LEFT JOIN Bas_Employee AS e ON t.Ycs_Owner = e.bem_Id"); builder.Append(" WHERE Ycs_Status != 6");//只要未删除的数据 if (search.Id >= 10000) { builder.Append(" AND t.Ycs_Id = @Id"); } if (search.Name.HasValue()) { builder.Append(" AND t.Ycs_Name like @Name"); } if (search.OwnerName.HasValue()) { builder.Append(" AND e.bem_Name = @Owner"); } if (search.Status != null && search.Status.Count > 0) { builder.Append(" AND t.Ycs_Status in @Status"); } if (search.Grade > 0) { builder.Append(" AND t.Ycs_Grade = @Grade"); } int courseType = -1; if (search.CourseType.HasValue) { courseType = (int)search.CourseType.Value; builder.Append(" AND t.Ycs_CourseType = @CourseType"); } string where = builder.ToString(); string orderby = "t.Ycs_UpdateTime DESC"; object param = new { Id = search.Id, Name = $"%{search.Name}%", Owner = search.OwnerName, Status = search.Status, Grade = search.Grade, CourseType = courseType }; return(base.QueryPaging <DtoCourseListItem>( fields, where, orderby, search.Pagination, param).ToList()); }
public ActionResult GetCourses(DtoCurriculumSearch search) { CourseBll bll = new CourseBll(); IList <DtoCourseListItem> entities = bll.GetManageCourses(search); PropertyNamePrefixAction action = PropertyNamePrefixAction.Remove; IEnumerable <CourseViewModel> list = entities.Select(s => s.ConvertTo <CourseViewModel>(action)); return(Table(list, search.Pagination.TotalCount)); }
public IList <DtoCourseListItem> GetManageCourses(DtoCurriculumSearch search) { IList <DtoCourseListItem> items = GetCourses(search); IEnumerable <int> courseIds = items.Select(c => c.Ycs_Id); var prices = CoursePriceRepository.GetEntities(courseIds); foreach (var item in items) { if (item.Ycs_Price == null) { item.Ycs_Price = new Dictionary <string, decimal>(); } prices.Where(p => p.Yce_CourseId == item.Ycs_Id).ToList() .ForEach(p => item.Ycs_Price.Add(p.Yce_SchoolLevelName, p.Yce_Price)); } return(items); }
public IList <DtoCourseListItem> GetCourses(DtoCurriculumSearch search) { return(CourseRepository.GetByPage(search)); }