コード例 #1
0
        public async Task <PageInfo <GroupListDto> > GetAllGroupsAsync(int page = 1, int pageSize = 10)
        {
            var groups = UnitOfWork.GroupRepository.GetAll()
                         .OrderBy(x => x.Number);

            return(await PagedHelper.CreatePagedResultsAsync(groups, page, pageSize, x => x.ToGroupListDto()));
        }
コード例 #2
0
        public async Task <PageInfo <ThemeResponse> > GetAllThemesBySubjectId(Guid subjectId, int page, int pageSize)
        {
            var themes = UnitOfWork.ThemeRepository.Query(x => x.SubjectId == subjectId)
                         .OrderBy(x => x.Title);

            return(await PagedHelper.CreatePagedResultsAsync(themes, page, pageSize, x => x.ToThemeResponse()));
        }
コード例 #3
0
        public async Task <PageInfo <ThemeResultsResponse> > GetResultsByGroupIdThemeIdAsync(Guid groupId, Guid themeId, int page, int pageSize)
        {
            var results = UnitOfWork.ResultRepository.Query(x => x.Student.GroupId == groupId && x.ThemeId == themeId)
                          .OrderBy(x => x.Student.SearchFullName);

            return(await PagedHelper.CreatePagedResultsAsync(results, page, pageSize, x => x.ToThemeResultsResponse()));
        }
コード例 #4
0
        public async Task <PageInfo <ProfileResultsResponse> > GetResultsByProfileIdAsync(Guid profileId, int page, int pageSize)
        {
            var results = UnitOfWork.ResultRepository.Query(x => x.UserProfileId == profileId)
                          .OrderByDescending(x => x.Created);

            return(await PagedHelper.CreatePagedResultsAsync(results, page, pageSize, x => x.ToProfileResultsResponse()));
        }
コード例 #5
0
        public async Task <PageInfo <ProfileResponse> > GetStudentsByGroupIdAsync(Guid groupId, int page, int pageSize)
        {
            var students = UnitOfWork.UserProfileRepository.Query(x => x.GroupId == groupId)
                           .OrderBy(x => x.LastName);

            return(await PagedHelper.CreatePagedResultsAsync(students, page, pageSize, x => x.ToProfileResponse()));
        }
コード例 #6
0
        public async Task <PageInfo <SubjectResponse> > GetAllSubjectsByUserProfileId(int page, int pageSize, Guid userProfileId)
        {
            var subjects = UnitOfWork.SubjectRepository.Query(x => x.UserProfileId == userProfileId)
                           .Include(x => x.Themes)
                           .OrderBy(x => x.Title);

            return(await PagedHelper.CreatePagedResultsAsync(subjects, page, pageSize, x => x.ToSubjectResponse()));
        }
コード例 #7
0
        public async Task <PageInfo <SubjectResponse> > GetAllSubjects(int page, int pageSize)
        {
            var subjects = UnitOfWork.SubjectRepository.GetAll()
                           .Include(x => x.Themes)
                           .OrderBy(x => x.Title);

            return(await PagedHelper.CreatePagedResultsAsync(subjects, page, pageSize, x => x.ToSubjectResponse()));
        }
コード例 #8
0
        public async Task <PageInfo <QuestionResponse> > GetAllQuestionsByThemeIdAsync(int page, int pageSize, Guid themeId)
        {
            // You can't make this request async and IQueryable at the same time
            // http://go.microsoft.com/fwlink/?LinkId=287068
            var questions = UnitOfWork.QuestionThemeRepository.Query(x => x.ThemeId == themeId)
                            .Select(x => x.Question)
                            .OrderByDescending(x => x.Created);

            return(await PagedHelper.CreatePagedResultsAsync(questions, page, pageSize, x => x.ToQuestionResponse()));
        }
コード例 #9
0
        public async Task <PageInfo <GroupListDto> > GetAllGroupsAsync(int page = 1, int pageSize = 10)
        {
            if (page <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(page));
            }
            var groups = UnitOfWork.GroupRepository.GetAll()
                         .OrderBy(x => x.Number);

            return(await PagedHelper.CreatePagedResultsAsync(groups, page, pageSize, x => x.ToGroupListDto()));
        }
コード例 #10
0
        public async Task <PageInfo <SuperAdminProfileResponse> > GetProfilesByRoleIdAsync(string roleId, int page, int pageSize)
        {
            var userIds = await UnitOfWork.UserRepository.Query(x => x.Roles.Any(y => y.RoleId == roleId))
                          .Select(x => x.Id)
                          .ToListAsync();

            var profiles = UnitOfWork.UserProfileRepository.Query(x => userIds.Contains(x.UserId))
                           .OrderBy(x => x.SearchFullName);

            return(await PagedHelper.CreatePagedResultsAsync(profiles, page, pageSize, x => x.ToSuperAdminProfileResponse()));
        }