Пример #1
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));
        }
Пример #2
0
        /// <summary>
        /// Gets the agent categories.
        /// </summary>
        /// <param name="agentCategoryQueryParameter">The agentCategory query parameter.</param>
        /// <returns></returns>
        public async Task <CSSResponse> GetAgentCategories(AgentCategoryQueryParameter agentCategoryQueryParameter)
        {
            var agentCategories = await _repository.AgentCategories.GetAgentCategories(agentCategoryQueryParameter);

            _httpContextAccessor.HttpContext.Response.Headers.Add("X-Pagination", PagedList <Entity> .ToJson(agentCategories));

            return(new CSSResponse(agentCategories, HttpStatusCode.OK));
        }
Пример #3
0
        public async Task <IActionResult> GetAgentCategories([FromQuery] AgentCategoryQueryParameter agentCategoryQueryParameter)
        {
            var result = await _agentCategoryService.GetAgentCategories(agentCategoryQueryParameter);

            return(StatusCode((int)result.Code, result.Value));
        }
Пример #4
0
        /// <summary>
        /// Filters the agentCategories.
        /// </summary>
        /// <param name="agentCategories">The agentCategories.</param>
        /// <param name="agentCategoryParameters">The agent category parameters.</param>
        /// <returns></returns>
        private IQueryable <AgentCategory> FilterAgentCategories(IQueryable <AgentCategory> agentCategories, AgentCategoryQueryParameter agentCategoryParameters)
        {
            if (!agentCategories.Any() || string.IsNullOrWhiteSpace(agentCategoryParameters.SearchKeyword))
            {
                return(agentCategories);
            }

            return(agentCategories.Where(o => o.Name.ToLower().Contains(agentCategoryParameters.SearchKeyword.Trim().ToLower()) ||
                                         o.CreatedBy.ToLower().Contains(agentCategoryParameters.SearchKeyword.Trim().ToLower()) ||
                                         o.ModifiedBy.ToLower().Contains(agentCategoryParameters.SearchKeyword.Trim().ToLower())));
        }