MicroLite.Builder.SelectSqlBuilder.Having C# (CSharp) Method

Having() public method

public Having ( string predicate, object value ) : IOrderBy
predicate string
value object
return IOrderBy
        public IOrderBy Having(string predicate, object value)
        {
            if (string.IsNullOrEmpty(predicate))
            {
                throw new ArgumentException(ExceptionMessages.ArgumentNullOrEmpty.FormatWith("predicate"));
            }

            this.Arguments.Add(new SqlArgument(value));

            var renumberedPredicate = SqlUtility.RenumberParameters(predicate, this.Arguments.Count);

            this.InnerSql.Append(" HAVING ").Append(renumberedPredicate);

            return this;
        }

Usage Example

        public void HavingThrowsArgumentExceptionForEmptyPredicate()
        {
            var sqlBuilder = new SelectSqlBuilder(SqlCharacters.Empty);

            var exception = Assert.Throws<ArgumentException>(
                () => sqlBuilder.Having("", new object()));

            Assert.Equal(ExceptionMessages.ArgumentNullOrEmpty.FormatWith("predicate"), exception.Message);
        }