background image

 

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();