public async Task <JsonResult> GetAllOrganizationPaginated(PageRequest request) { //request.PageRequestFilters = new List<PageRequestFilter> //{ // new PageRequestFilter{Propriety = "WorkCategory", Value = "7a368249-8958-48e9-b27d-f4b0e8f35b0f", NextOperator = FilterNextOperator.And}, // new PageRequestFilter{Propriety = "ClientType", Value = OrganizationType.Prospect, NextOperator = FilterNextOperator.Or}, // new PageRequestFilter{Propriety = "WorkCategory", Value = "7a368249-8958-48e9-b27d-f4b0e8f35b0f", NextOperator = FilterNextOperator.Or}, // new PageRequestFilter{Propriety = "ClientType", Value = OrganizationType.Lead, NextOperator = FilterNextOperator.And}, //}; var organizationRequest = await _organizationService.GetPaginatedOrganizationAsync(request); var organization = organizationRequest.Result.Result.ToList(); if (!organization.Any()) { return(Json(new ResultModel <PagedResult <GetTableOrganizationViewModel> > { IsSuccess = false, })); } var listOrganization = organization .Select(async s => new GetTableOrganizationViewModel { Contacts = s.Contacts, Id = s.Id, Created = s.Created, Name = s.Name, ClientType = s.ClientType, IsDeleted = s.IsDeleted, Email = s.Email, LeadCount = (await _leadService.GetLeadsCountByOrganizationAsync(s.Id)).Result }).Select(s => s.Result).ToList() .OrderByWithDirection(x => x.GetPropertyValue(request.Attribute), request.Descending).ToList(); var result = new ResultModel <PagedResult <GetTableOrganizationViewModel> > { IsSuccess = true, Result = new PagedResult <GetTableOrganizationViewModel> { Result = listOrganization, IsSuccess = organizationRequest.Result.IsSuccess, CurrentPage = organizationRequest.Result.CurrentPage, PageCount = organizationRequest.Result.PageCount, PageSize = organizationRequest.Result.PageSize, Errors = organizationRequest.Result.Errors, RowCount = organizationRequest.Result.RowCount, KeyEntity = organizationRequest.Result.KeyEntity }, }; return(Json(result, SerializerSettings)); }
public async Task <JsonResult> GetPaginatedOrganization(PageRequest request) => await JsonAsync(_organizationService.GetPaginatedOrganizationAsync(request), SerializerSettings);