using System; using System.Runtime.Serialization; namespace ZeroLevel.Specification { [Serializable] [DataContract] public class AndSpecification : BaseSpecification { [DataMember] ISpecification leftSpecification; [DataMember] ISpecification rightSpecification; public AndSpecification(ISpecification left, ISpecification right) { this.leftSpecification = left; this.rightSpecification = right; } public override bool IsSatisfiedBy(T o) { return this.leftSpecification.IsSatisfiedBy(o) && this.rightSpecification.IsSatisfiedBy(o); } } }