public ItemWithFiltersForCountSpecificication(ItemSpecParams itemParams) : base(x => (string.IsNullOrEmpty(itemParams.Search) || x.Name.ToLower().Contains(itemParams.Search)) && (itemParams.BrandId.Count < 1 || itemParams.BrandId.Contains(x.ProductBrandId)) && ((itemParams.SubCategory.Count < 1) || itemParams.SubCategory.Contains(x.CategoryId)) /*(!itemParams.BrandId.HasValue || x.ProductBrandId == itemParams.BrandId) && * (!itemParams.CategoryId.HasValue || x.CategoryId == itemParams.CategoryId) &&*//*|| * (!itemParams.SubCategoryId0.HasValue || x.CategoryId == itemParams.SubCategoryId0) || * (!itemParams.SubCategoryId1.HasValue || x.CategoryId == itemParams.SubCategoryId1) || * (!itemParams.SubCategoryId2.HasValue || x.CategoryId == itemParams.SubCategoryId2) || * (!itemParams.SubCategoryId3.HasValue || x.CategoryId == itemParams.SubCategoryId3) || * (!itemParams.SubCategoryId4.HasValue || x.CategoryId == itemParams.SubCategoryId4) || * (!itemParams.SubCategoryId5.HasValue || x.CategoryId == itemParams.SubCategoryId5) || * (!itemParams.SubCategoryId6.HasValue || x.CategoryId == itemParams.SubCategoryId6) || * (!itemParams.SubCategoryId7.HasValue || x.CategoryId == itemParams.SubCategoryId7) || * (!itemParams.SubCategoryId8.HasValue || x.CategoryId == itemParams.SubCategoryId8) || * (!itemParams.SubCategoryId9.HasValue || x.CategoryId == itemParams.SubCategoryId9) || * (!itemParams.SubCategoryId10.HasValue || x.CategoryId == itemParams.SubCategoryId10) || * (!itemParams.SubCategoryId11.HasValue || x.CategoryId == itemParams.SubCategoryId11) || * (!itemParams.SubCategoryId12.HasValue || x.CategoryId == itemParams.SubCategoryId12) || * (!itemParams.SubCategoryId13.HasValue || x.CategoryId == itemParams.SubCategoryId13) || * (!itemParams.SubCategoryId14.HasValue || x.CategoryId == itemParams.SubCategoryId14) || * (!itemParams.SubCategoryId15.HasValue || x.CategoryId == itemParams.SubCategoryId15) || * (!itemParams.SubCategoryId16.HasValue || x.CategoryId == itemParams.SubCategoryId16) || * (!itemParams.SubCategoryId17.HasValue || x.CategoryId == itemParams.SubCategoryId17) || * (!itemParams.SubCategoryId18.HasValue || x.CategoryId == itemParams.SubCategoryId18) || * (!itemParams.SubCategoryId19.HasValue || x.CategoryId == itemParams.SubCategoryId19) || * (!itemParams.SubCategoryId20.HasValue || x.CategoryId == itemParams.SubCategoryId20) || * (!itemParams.SubCategoryId21.HasValue || x.CategoryId == itemParams.SubCategoryId21) || * (!itemParams.SubCategoryId22.HasValue || x.CategoryId == itemParams.SubCategoryId22) || * (!itemParams.SubCategoryId23.HasValue || x.CategoryId == itemParams.SubCategoryId23) || * (!itemParams.SubCategoryId24.HasValue || x.CategoryId == itemParams.SubCategoryId24) || * (!itemParams.SubCategoryId25.HasValue || x.CategoryId == itemParams.SubCategoryId25) || * (!itemParams.SubCategoryId26.HasValue || x.CategoryId == itemParams.SubCategoryId26) || * (!itemParams.SubCategoryId27.HasValue || x.CategoryId == itemParams.SubCategoryId27) || * (!itemParams.SubCategoryId28.HasValue || x.CategoryId == itemParams.SubCategoryId28) || * (!itemParams.SubCategoryId29.HasValue || x.CategoryId == itemParams.SubCategoryId29)*/ ) { }
public ItemsWithTypesAndBrandsSpecification(ItemSpecParams itemParams) : base(x => (string.IsNullOrEmpty(itemParams.Search) || x.Name.ToLower().Contains(itemParams.Search)) && (itemParams.BrandId.Count < 1 || itemParams.BrandId.Contains(x.ProductBrandId)) && /*(!itemParams.CategoryId.HasValue || x.CategoryId == itemParams.CategoryId ) ||*/ ((itemParams.SubCategory.Count < 1) || itemParams.SubCategory.Contains(x.CategoryId)) /*|| * (!itemParams.SubCategoryId0.HasValue || x.CategoryId == itemParams.SubCategoryId0) || * (!itemParams.SubCategoryId1.HasValue || x.CategoryId == itemParams.SubCategoryId1) || * (!itemParams.SubCategoryId2.HasValue || x.CategoryId == itemParams.SubCategoryId2) || * (!itemParams.SubCategoryId3.HasValue || x.CategoryId == itemParams.SubCategoryId3) || * (!itemParams.SubCategoryId4.HasValue || x.CategoryId == itemParams.SubCategoryId4) || * (!itemParams.SubCategoryId5.HasValue || x.CategoryId == itemParams.SubCategoryId5) || * (!itemParams.SubCategoryId6.HasValue || x.CategoryId == itemParams.SubCategoryId6) || * (!itemParams.SubCategoryId7.HasValue || x.CategoryId == itemParams.SubCategoryId7) || * (!itemParams.SubCategoryId8.HasValue || x.CategoryId == itemParams.SubCategoryId8) || * (!itemParams.SubCategoryId9.HasValue || x.CategoryId == itemParams.SubCategoryId9) || * (!itemParams.SubCategoryId10.HasValue || x.CategoryId == itemParams.SubCategoryId10) || * (!itemParams.SubCategoryId11.HasValue || x.CategoryId == itemParams.SubCategoryId11) || * (!itemParams.SubCategoryId12.HasValue || x.CategoryId == itemParams.SubCategoryId12) || * (!itemParams.SubCategoryId13.HasValue || x.CategoryId == itemParams.SubCategoryId13) || * (!itemParams.SubCategoryId14.HasValue || x.CategoryId == itemParams.SubCategoryId14) || * (!itemParams.SubCategoryId15.HasValue || x.CategoryId == itemParams.SubCategoryId15) || * (!itemParams.SubCategoryId16.HasValue || x.CategoryId == itemParams.SubCategoryId16) || * (!itemParams.SubCategoryId17.HasValue || x.CategoryId == itemParams.SubCategoryId17) || * (!itemParams.SubCategoryId18.HasValue || x.CategoryId == itemParams.SubCategoryId18) || * (!itemParams.SubCategoryId19.HasValue || x.CategoryId == itemParams.SubCategoryId19) || * (!itemParams.SubCategoryId20.HasValue || x.CategoryId == itemParams.SubCategoryId20) || * (!itemParams.SubCategoryId21.HasValue || x.CategoryId == itemParams.SubCategoryId21) || * (!itemParams.SubCategoryId22.HasValue || x.CategoryId == itemParams.SubCategoryId22) || * (!itemParams.SubCategoryId23.HasValue || x.CategoryId == itemParams.SubCategoryId23) || * (!itemParams.SubCategoryId24.HasValue || x.CategoryId == itemParams.SubCategoryId24) || * (!itemParams.SubCategoryId25.HasValue || x.CategoryId == itemParams.SubCategoryId25) || * (!itemParams.SubCategoryId26.HasValue || x.CategoryId == itemParams.SubCategoryId26) || * (!itemParams.SubCategoryId27.HasValue || x.CategoryId == itemParams.SubCategoryId27) || * (!itemParams.SubCategoryId28.HasValue || x.CategoryId == itemParams.SubCategoryId28) || * (!itemParams.SubCategoryId29.HasValue || x.CategoryId == itemParams.SubCategoryId29)*/ ) { AddInclude(x => x.Category); AddInclude(x => x.ProductBrand); AddOrderBy(x => x.Name); ApplyPaging(itemParams.PageSize * (itemParams.PageIndex - 1), itemParams.PageSize); if (!string.IsNullOrEmpty(itemParams.Sort)) { switch (itemParams.Sort) { case "priceAsc": AddOrderBy(p => p.NewPrice); break; case "priceDesc": AddOrderByDescending(p => p.NewPrice); break; default: AddOrderBy(n => n.Name); break; } } }