Exemplo n.º 1
0
        ISpecificationExpression <Ticket> AddSpecification(ISpecificationExpression <Ticket> toAdd,
                                                           LogicalOperator logicalOperator)
        {
            if (specBeingBuilt == null)
            {
                return(toAdd);
            }
            logicalOperator.RequireDefinedValue(nameof(logicalOperator));

            switch (logicalOperator)
            {
            case LogicalOperator.Or:
                return(specBeingBuilt.Or(toAdd));

            case LogicalOperator.And:
                return(specBeingBuilt.And(toAdd));

            default:
                throw new NotSupportedException($"The {nameof(LogicalOperator)} must have a supported value.");
            }
        }