Esempio n. 1
0
        public void CourseRepository_GetByPage_ShouldReturnValue()
        {
            var search = new DtoCurriculumSearch();
            var result = new CourseRepository().GetByPage(search);

            Assert.IsNotNull(result);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
 public IList <DtoCourseListItem> GetCourses(DtoCurriculumSearch search)
 {
     return(CourseRepository.GetByPage(search));
 }