public FranchiseWithCountryStateAndPricingModelSpecification(FranchiseSpecParams franchiseParams) : base(x => (string.IsNullOrEmpty(franchiseParams.Search) || x.Name.ToLower().Contains(franchiseParams.Search)) && (!franchiseParams.CountryId.HasValue || x.CountryId == franchiseParams.CountryId) && (!franchiseParams.StateId.HasValue || x.StateId == franchiseParams.StateId) && (!franchiseParams.PricingModelId.HasValue || x.PricingModelId == franchiseParams.PricingModelId) ) { AddInclude(x => x.Country); AddInclude(x => x.State); AddInclude(x => x.PricingModel); AddOrderBy(x => x.Name); if (!string.IsNullOrEmpty(franchiseParams.Sort)) { switch (franchiseParams.Sort) { case "nameAsc": AddOrderBy(p => p.Name); break; case "nameDesc": AddOrderByDescending(p => p.Name); break; default: AddOrderBy(n => n.Name); break; } } }
public FranchiseWithFiltersForCountSpecification(FranchiseSpecParams franchiseParams) : base(x => (string.IsNullOrEmpty(franchiseParams.Search) || x.Name.ToLower().Contains(franchiseParams.Search)) && (!franchiseParams.CountryId.HasValue || x.CountryId == franchiseParams.CountryId) && (!franchiseParams.StateId.HasValue || x.StateId == franchiseParams.StateId) && (!franchiseParams.PricingModelId.HasValue || x.PricingModelId == franchiseParams.PricingModelId) ) { }