diff --git a/sample/Ardalis.Sample.Domain/Specs/AdultCustomersByNameSpec.cs b/sample/Ardalis.Sample.Domain/Specs/AdultCustomersByNameSpec.cs index c2228a01..a35fd12c 100644 --- a/sample/Ardalis.Sample.Domain/Specs/AdultCustomersByNameSpec.cs +++ b/sample/Ardalis.Sample.Domain/Specs/AdultCustomersByNameSpec.cs @@ -6,7 +6,7 @@ public class AdultCustomersByNameSpec : Specification { public AdultCustomersByNameSpec(string nameSubstring) { - Query.Where(c => CustomerPredicates.IsAdult(c) && - CustomerPredicates.NameIncludes(c, nameSubstring)); + Query.IsAdult() + .NameIncludes(nameSubstring); } } diff --git a/sample/Ardalis.Sample.Domain/Specs/CustomerSpecExtensions.cs b/sample/Ardalis.Sample.Domain/Specs/CustomerSpecExtensions.cs index 54540ee5..ac044241 100644 --- a/sample/Ardalis.Sample.Domain/Specs/CustomerSpecExtensions.cs +++ b/sample/Ardalis.Sample.Domain/Specs/CustomerSpecExtensions.cs @@ -3,7 +3,7 @@ namespace Ardalis.Sample.Domain.Specs; -// Examples how to add extend specifications. +// Examples how to extend specifications. // These extensions are applied in Ardalis.Sample.Domain.Specs.CustomerSpec public static class CustomerSpecExtensions { @@ -33,4 +33,13 @@ public static ISpecificationBuilder TagWith(this ISpecificationBuilder builder.Specification.Items.TryAdd("TagWith", tag); return builder; } + + // Some more extension examples. + // These extensions are applied in Ardalis.Sample.Domain.Specs.AdultCustomersByNameSpec + public static ISpecificationBuilder IsAdult(this ISpecificationBuilder builder) + => builder.Where(x => x.Age >= 18); + public static ISpecificationBuilder IsAtLeastYearsOld(this ISpecificationBuilder builder, int years) + => builder.Where(x => x.Age >= years); + public static ISpecificationBuilder NameIncludes(this ISpecificationBuilder builder, string name) + => builder.Where(x => x.Name.Contains(name)); }