internal string GetPrefixForCriterion(IQualifiedSearchCriterion c) { var nsPrefix = namespacePrefixes.FirstOrDefault(nsp => nsp.Namespace == c.Namespace); if (nsPrefix == null) { return(null); } return(nsPrefix.Name); }
private void AddCriterionNamespaceIfNotExist(IQualifiedSearchCriterion qcriterion) { if (!namespacePrefixes.Any(prefix => prefix.Namespace == qcriterion.Namespace)) { for (int i = 0; i < namespacePrefixes.Count; i++) { if (namespacePrefixes.Any(prefix => prefix.Namespace == "ns" + i)) { continue; } namespacePrefixes.Add(new XmlQualifiedName("ns" + i, qcriterion.Namespace)); } } }
public override void Add(ISearchCriterion criterion) { IQualifiedSearchCriterion qcriterion = null; if (criterion is IQualifiedSearchCriterion) { qcriterion = criterion as IQualifiedSearchCriterion; } else { qcriterion = QualifyCriterion(criterion); } AddCriterionNamespaceIfNotExist(qcriterion); base.Add(criterion); }