Exemplo n.º 1
0
        public static WhereStatement Copy(WhereStatement statement)
        {
            var result       = new WhereStatement();
            int currentLevel = 0;

            foreach (var level in statement)
            {
                currentLevel++;
                result.Add(new List <WhereClause>());
                foreach (WhereClause clause in statement[currentLevel - 1])
                {
                    var clauseCopy = new WhereClause(clause.FieldName, clause.ComparisonOperator, clause.Value);
                    foreach (SubClause subClause in clause.SubClauses)
                    {
                        var subClauseCopy = new SubClause(subClause.LogicOperator, subClause.ComparisonOperator, subClause.Value);
                        clauseCopy.SubClauses.Add(subClauseCopy);
                    }
                    result[currentLevel - 1].Add(clauseCopy);
                }
            }
            return(result);
        }
Exemplo n.º 2
0
        public void AddClause(LogicOperator logic, Comparison compareOperator, object compareValue)
        {
            SubClause newSubClause = new SubClause(logic, compareOperator, compareValue);

            SubClauses.Add(newSubClause);
        }