internal void AddCriteria(tridion.Criteria crit) { if (Criteria == null) { Criteria = new List <tridion.Criteria>(); } Criteria.Add(crit); }
private tridion.Criteria ProcessCriteriaRecursive(LinqTridionAndOr crit) { if (crit.Criteria != null && crit.Criteria.Count > 0) { if (crit is LinqTridionAnd) { return(new tridion.AndCriteria(crit.Criteria.ToArray())); } else if (crit is LinqTridionOr) { return(new tridion.OrCriteria(crit.Criteria.ToArray())); } } else if (crit.ChildCriteria != null && crit.ChildCriteria.Count > 0) { List <tridion.Criteria> criteria = null; foreach (var item in crit.ChildCriteria) { tridion.Criteria processedCrit = ProcessCriteriaRecursive(item); if (processedCrit != null) { criteria.Add(processedCrit); } } if (crit is LinqTridionAnd) { return(new tridion.AndCriteria(criteria.ToArray())); } else if (crit is LinqTridionOr) { return(new tridion.OrCriteria(criteria.ToArray())); } } return(null); }