{
return
!innerSpecification.IsSatisfiedBy(entity);
}
}
/// <summary>
///
是否达到最大的规定租赁数
/// </summary>
public
class
HasReachedMaxSpecification : CompositeSpecification<Customer>
{
public
override bool IsSatisfiedBy(Customer entity)
{
return
entity.TotalRentNumber > 5;
}
}
/// <summary>
///
是否激活
/// </summary>
public
class
CustomerActiveSpecification : CompositeSpecification<Customer>
{
public
override bool IsSatisfiedBy(Customer entity)
{
return
entity.IsActive;
}
}
/// <summary>
///
是否欠费
/// </summary>
public
class
CustomerHasLateFeesSpecification : CompositeSpecification<Customer>
{
public
override bool IsSatisfiedBy(Customer entity)
{
return
entity.LateFees > 0;
}
}
public
class
Customer
{
private
ISpecification<Customer> hasReachedRentalThreshold;
private
ISpecification<Customer> customerIsActive;
private
ISpecification<Customer> customerHasLateFees;
public
Customer()
{
hasReachedRentalThreshold =
new
HasReachedMaxSpecification();
customerIsActive =
new
CustomerActiveSpecification();