public async Task <ResponseDTO <PagedList <MainTenantDTO> > > SearchTenantAsync(MainTenantSearchRequest search) { List <OrderExpression <MainTenantDTO> > orderExpressionList = new List <OrderExpression <MainTenantDTO> >(); orderExpressionList.Add(new OrderExpression <MainTenantDTO>(OrderType.Asc, p => p.FullName)); Expression <Func <MainTenantDTO, bool> > queryFilter = c => true; if (!string.IsNullOrEmpty(search.Code)) { queryFilter = queryFilter.And(p => p.Code.Contains(search.Code)); } if (!string.IsNullOrEmpty(search.FullName)) { queryFilter = queryFilter.And(p => p.FullName.Contains(search.FullName)); } if (!string.IsNullOrEmpty(search.PhoneNumber)) { queryFilter = queryFilter.And(p => p.PhoneN01.Contains(search.PhoneNumber)); } if (search.CountryId.HasValue) { queryFilter = queryFilter.And(p => p.CountryId == search.CountryId.Value); } if (search.TypeId.HasValue) { queryFilter = queryFilter.And(p => p.TypeId == search.TypeId.Value); } if (search.RowStatus.HasValue) { queryFilter = queryFilter.And(p => p.RowStatus == search.RowStatus); } var mainTenant = await _mainTenantSearchDataAccess.ListPagedAsync(queryFilter, search.Page, search.PageSize, orderExpressionList.ToArray()); var pagedResult = new PagedList <MainTenantDTO>() { Items = mainTenant.Items, PageSize = mainTenant.PageSize, Page = mainTenant.Page, Total = mainTenant.Total }; return(ResponseBuilder.Correct(pagedResult)); }
public async Task <ResponseDTO <PagedList <MainTenantDTO> > > Search([FromUri] MainTenantSearchRequest search) { var resp = await _tenantApplicationService.SearchTenantAsync(search); return(resp); }