/// <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)); }
/// <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)); }
public async Task <IActionResult> GetAgentCategories([FromQuery] AgentCategoryQueryParameter agentCategoryQueryParameter) { var result = await _agentCategoryService.GetAgentCategories(agentCategoryQueryParameter); return(StatusCode((int)result.Code, result.Value)); }
/// <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()))); }