public ListCoursesDTO GetCourses(GetQuerieModel model)
        {
            var listCourses = Context.Course.AsNoTracking().Select(t => new CourseDTO
            {
                Id    = t.Id,
                Image = t.Image,
                Title = t.Title
            }).Where(t => t.Title.ToLower().Contains(model.searchText.ToLower()));

            var count = listCourses.Count();
            var items = listCourses.Skip((model.page - 1) * model.pageSize).Take(model.pageSize).ToList();

            return(new ListCoursesDTO
            {
                Courses = items,
                totalCount = count,
                sizePage = model.pageSize
            });
        }
        public ListStudentDTO GetStudents(GetQuerieModel model)
        {
            var listUsers = UserManeger.GetUsersInRoleAsync(Constants.UserRole).Result.
                            Select(t => new StudentDTO
            {
                Key            = t.Id,
                Name           = t.Name,
                Age            = t.Age,
                Email          = t.Email,
                LastName       = t.LastName,
                RegisteredDate = t.RegisteredDate,
                StudyDate      = t.StudyDate,

                //Get courses
                Courses = Context.UserSubscriptions.Where(r => r.UserId == t.Id).Select(y => new CourseDTO {
                    Id        = y.Id,
                    Image     = Context.Course.FirstOrDefault(u => u.Id == y.CourseId).Image,
                    Title     = Context.Course.FirstOrDefault(u => u.Id == y.CourseId).Title,
                    StartDate = Context.UserSubscriptions
                                .FirstOrDefault(u => u.UserId == t.Id && u.CourseId == y.CourseId).StartDate.ToShortDateString()
                }).ToList()
            })
                            .ToList()
                            .Where(
                t => t.Email.ToLower().Contains(model.searchText.ToLower()) ||
                t.Name.ToLower().Contains(model.searchText.ToLower()) ||
                t.LastName.ToLower().Contains(model.searchText.ToLower()));

            var count = listUsers.Count();
            var items = listUsers.Skip((model.page - 1) * model.pageSize).Take(model.pageSize).ToList();

            return(new ListStudentDTO()
            {
                Students = items,
                totalCount = count,
                sizePage = model.pageSize
            });
        }
 public ListCoursesDTO GetCourses([FromQuery] GetQuerieModel dto)
 {
     return(QueriesService.GetCourses(dto));
 }
Exemplo n.º 4
0
 //[Authorize(Roles = "Admin")]
 public ListStudentDTO GetStudents([FromQuery] GetQuerieModel model)
 {
     return(QueriesService.GetStudents(model));
 }