protected override IWhereClauseBuilder AddNestedGroupToCurrentGroup <TEntity>(
            Expression <Func <TEntity, bool> > expression,
            WhereClauseGroupType groupType,
            string alias       = null,
            string tableName   = null,
            string tableSchema = null)
        {
            ThrowIfNotInitialised();
            var whereClauseGroup1 = new WhereClauseGroup();

            whereClauseGroup1.GroupType = groupType;
            whereClauseGroup1.Parent    = currentGroup;
            var whereClauseGroup2 = whereClauseGroup1;

            currentGroup.Groups.Add(whereClauseGroup2);
            currentGroup = whereClauseGroup2;
            return(AddConditionToCurrentGroup(expression, LogicalOperator.NotSet, alias, tableName, tableSchema));
        }
Exemplo n.º 2
0
        private IWhereClauseBuilder AddNestedGroupToCurrentGroup <TEntity>(
            Expression <Func <TEntity, bool> > expression,
            WhereClauseGroupType groupType,
            string alias       = null,
            string tableName   = null,
            string tableSchema = null)
        {
            ThrowIfNotInitialised();
            var newGroup = new WhereClauseGroup
            {
                GroupType = groupType,
                Parent    = currentGroup
            };

            currentGroup.Groups.Add(newGroup);
            currentGroup = newGroup;
            return(AddConditionToCurrentGroup(expression,
                                              LogicalOperator.NotSet,
                                              alias,
                                              tableName,
                                              tableSchema));
        }
 protected abstract IWhereClauseBuilder AddNestedGroupToCurrentGroup <TEntity>(
     Expression <Func <TEntity, bool> > expression,
     WhereClauseGroupType groupType,
     string alias       = null,
     string tableName   = null,
     string tableSchema = null);