/// <summary>
        /// Gets the scheduling codes.
        /// </summary>
        /// <param name="schedulingCodeParameters">The scheduling code parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetSchedulingCodes(SchedulingCodeQueryParameters schedulingCodeParameters)
        {
            var schedulingCodes = FindByCondition(x => x.IsDeleted == false);

            var filteredSchedulingCodes = FilterSchedulingCodes(schedulingCodes, schedulingCodeParameters);

            var sortedSchedulingCodes = SortHelper.ApplySort(filteredSchedulingCodes, schedulingCodeParameters.OrderBy);

            var pagedSchedulingCodes = sortedSchedulingCodes;

            if (!schedulingCodeParameters.SkipPageSize)
            {
                pagedSchedulingCodes = pagedSchedulingCodes
                                       .Skip((schedulingCodeParameters.PageNumber - 1) * schedulingCodeParameters.PageSize)
                                       .Take(schedulingCodeParameters.PageSize);
            }

            pagedSchedulingCodes = pagedSchedulingCodes
                                   .Include(x => x.Icon)
                                   .Include(x => x.SchedulingTypeCode)
                                   .ThenInclude(x => x.SchedulingCodeType);

            var mappedSchedulingCodes = pagedSchedulingCodes
                                        .ProjectTo <SchedulingCodeDTO>(_mapper.ConfigurationProvider);

            var shapedSchedulingCodes = DataShaper.ShapeData(mappedSchedulingCodes, schedulingCodeParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedSchedulingCodes, filteredSchedulingCodes.Count(), schedulingCodeParameters.PageNumber, schedulingCodeParameters.PageSize));
        }
        public async Task <PagedList <Entity> > GetUserPermissions(UserPermissionQueryParameters userPermissionParameters)
        {
            var userPermissions = FindByCondition(x => x.IsDeleted == false && x.Role.Name != "Agent");

            var filteredAgents = FilterUserPermissions(userPermissions, userPermissionParameters)
                                 .Include(x => x.Role);

            var sortedAgents = SortHelper.ApplySort(filteredAgents, userPermissionParameters.OrderBy);

            var pagedAgents = sortedAgents;

            if (!userPermissionParameters.SkipPageSize)
            {
                pagedAgents = sortedAgents
                              .Skip((userPermissionParameters.PageNumber - 1) * userPermissionParameters.PageSize)
                              .Take(userPermissionParameters.PageSize)
                              .Include(x => x.Role);
            }

            var mappedAgents = pagedAgents
                               .ProjectTo <UserPermissionDTO>(_mapper.ConfigurationProvider);

            var shapedAgents = DataShaper.ShapeData(mappedAgents, userPermissionParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedAgents, filteredAgents.Count(), userPermissionParameters.PageNumber, userPermissionParameters.PageSize));
        }
예제 #3
0
        /// <summary>
        /// Gets the agentCategories.
        /// </summary>
        /// <param name="agentCategoryParameters">The agentCategory parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetAgentCategories(AgentCategoryQueryParameter agentCategoryParameters)
        {
            var agentCategories = FindByCondition(x => x.IsDeleted == false);

            var filteredAgentCategories = FilterAgentCategories(agentCategories, agentCategoryParameters);

            var sortedAgentCategories = SortHelper.ApplySort(filteredAgentCategories, agentCategoryParameters.OrderBy);

            var pagedAgentCategories = sortedAgentCategories;

            if (!agentCategoryParameters.SkipPageSize)
            {
                pagedAgentCategories = sortedAgentCategories
                                       .Skip((agentCategoryParameters.PageNumber - 1) * agentCategoryParameters.PageSize)
                                       .Take(agentCategoryParameters.PageSize);
            }

            var mappedAgentCategories = pagedAgentCategories
                                        .ProjectTo <AgentCategoryDTO>(_mapper.ConfigurationProvider);

            var shapedAgentCategories = DataShaper.ShapeData(mappedAgentCategories, agentCategoryParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedAgentCategories, filteredAgentCategories.Count(), agentCategoryParameters.PageNumber, agentCategoryParameters.PageSize));
        }
예제 #4
0
        public async Task <PagedList <Entity> > GetRoles(RoleQueryParameters roleParameters)
        {
            var roles = FindAll();

            var filteredRoles = FilterRoles(roles, roleParameters);

            var sortedRoles = SortHelper.ApplySort(filteredRoles, roleParameters.OrderBy);

            var pagedRoles = sortedRoles;

            if (!roleParameters.SkipPageSize)
            {
                pagedRoles = sortedRoles
                             .Skip((roleParameters.PageNumber - 1) * roleParameters.PageSize)
                             .Take(roleParameters.PageSize);
            }

            var mappedRoles = pagedRoles
                              .ProjectTo <RoleDTO>(_mapper.ConfigurationProvider);

            var shapedRoles = DataShaper.ShapeData(mappedRoles, roleParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedRoles, filteredRoles.Count(), roleParameters.PageNumber, roleParameters.PageSize));
        }
예제 #5
0
        public PagedList <ShapedEntity> ListVotings()
        {
            List <Voting> votings = new List <Voting>
            {
                new Voting
                {
                    Id           = Guid.NewGuid(),
                    Name         = ".NET",
                    CategoryId   = Guid.NewGuid(),
                    DateCreated  = new DateTime(),
                    Description  = ".NET is a ecosystem that ...",
                    DueDate      = new DateTime(),
                    VotersCount  = 1,
                    Category     = new Category(),
                    Users        = new List <User>(),
                    UsersVotings = new List <UsersVotings>()
                }
            };

            IDataShaper <Voting> dataShaper = new DataShaper <Voting>();

            IEnumerable <ShapedEntity> shapedEntities = dataShaper.ShapeData(votings, "pageSize=10&pageNumber=1&orderBy=DueDate desc");

            return(PagedList <ShapedEntity> .ToPagedList(shapedEntities, 1, 1));
        }
        /// <summary>
        /// Gets the language translations.
        /// </summary>
        /// <param name="languageTranslationQueryParameters">The language translation query parameters.</param>
        /// <returns></returns>
        public async Task <PagedList <Entity> > GetLanguageTranslations(LanguageTranslationQueryParameters languageTranslationQueryParameters)
        {
            var languages = FindByCondition(x => x.IsDeleted == false);

            var filteredLanguages = FilterLanguages(languages, languageTranslationQueryParameters);

            var sortedSchedulingCodes = SortHelper.ApplySort(filteredLanguages, languageTranslationQueryParameters.OrderBy);

            var pagedLanguages = sortedSchedulingCodes
                                 .Skip((languageTranslationQueryParameters.PageNumber - 1) * languageTranslationQueryParameters.PageSize)
                                 .Take(languageTranslationQueryParameters.PageSize)
                                 .Include(x => x.Language)
                                 .Include(x => x.Menu)
                                 .Include(x => x.Variable);

            var mappedLanguages = pagedLanguages
                                  .ProjectTo <LanguageTranslationDTO>(_mapper.ConfigurationProvider);

            var shapedSchedulingCodes = DataShaper.ShapeData(mappedLanguages, languageTranslationQueryParameters.Fields);

            return(await PagedList <Entity>
                   .ToPagedList(shapedSchedulingCodes, filteredLanguages.Count(), languageTranslationQueryParameters.PageNumber, languageTranslationQueryParameters.PageSize));
        }