예제 #1
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()));
        }
예제 #2
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()));
        }
예제 #3
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()));
        }
예제 #4
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()));
        }
예제 #5
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()));
        }
예제 #6
0
 public MenuAppService(IMenuRepositoryRead menuRepository, ICacheService cacheService, IQueueService queueService, ILogger logger, PagedHelper pagedHelper)
 {
     _menuRepositoryRead = menuRepository;
     _cacheService       = cacheService;
     _queueService       = queueService;
     _logger             = logger;
     _pagedHelper        = pagedHelper;
 }
예제 #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 DepartmentAppService(IDepartmentRepositoryRead repository, ICacheService cacheService, IQueueService queueService, ILogger logger, PagedHelper pagedHelper)
 {
     _repositoryRead = repository;
     _cacheService   = cacheService;
     _queueService   = queueService;
     _logger         = logger;
     _pagedHelper    = pagedHelper;
 }
예제 #9
0
        public async Task <PagedResponse <BookProxy> > GetByFilterAsync(PagedRequest <BookFilterPayload> pagination)
        {
            var query = _db.Books.AsQueryable();

            query = FilterQuery(query, pagination.Filter);

            return(await PagedHelper.CreateAsync(query, pagination, MapEntityToProxy));
        }
예제 #10
0
        public async Task <PagedResponse <BookProxy> > GetAllAsync(PagedRequest pagination)
        {
            var query = _db.Books
                        .Include(x => x.Author)
                        .AsQueryable();

            return(await PagedHelper.CreateAsync(query, pagination, MapEntityToProxy));
        }
예제 #11
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()));
        }
예제 #12
0
 /// <summary>
 /// 构造函数 实现依赖注入
 /// </summary>
 /// <param name="RoleRepository">仓储对象</param>
 public RoleAppService(IRoleRepositoryRead RoleRepository, IUserRepository UserRepository, ICacheService cacheService, IQueueService queueService, ILogger logger, PagedHelper pagedHelper)
 {
     _repositoryRead = RoleRepository;
     _userrepository = UserRepository;
     _cacheService   = cacheService;
     _queueService   = queueService;
     _logger         = logger;
     _pagedHelper    = pagedHelper;
 }
예제 #13
0
 /// <summary>
 /// 构造函数 实现依赖注入
 /// </summary>
 public UserAppService(IUserRepositoryRead repositoryRead, IRepositoryReadFactory repositoryReadFactory, ICacheService cacheService, IQueueService queueService, ILogger logger, PagedHelper pagedHelper)
 {
     _repositoryRead        = repositoryRead;
     _repositoryReadFactory = repositoryReadFactory;
     _cacheService          = cacheService;
     _queueService          = queueService;
     _logger      = logger;
     _pagedHelper = pagedHelper;
 }
예제 #14
0
        public async Task <PageInfo <GroupResultsResponse> > GetResultsByGroupIdAsync(Guid groupId, int page, int pageSize)
        {
            var results = (await UnitOfWork.ResultRepository.Query(x => x.Student.GroupId == groupId)
                           .ToListAsync())
                          .DistinctBy(x => x.Theme.Title)
                          .OrderBy(x => x.Theme.Title);

            return(PagedHelper.CreatePagedResults(results, page, pageSize, x => x.ToGroupResultsResponse()));
        }
예제 #15
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()));
        }
예제 #16
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()));
        }
예제 #17
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()));
        }