public object[][] ResolveAmbiguousNameView(string ambiguousName, int limit, SortBy[] sortBy, params PropertyDefinition[] propsToReturn) { this.CheckDisposed("ResolveAmbiguousNameView"); if (propsToReturn == null) { throw new ArgumentNullException("propsToReturn"); } if (propsToReturn.Length <= 0) { throw new ArgumentException("propsToReturn contains no properties."); } if (!this.IsValidAmbiguousName(ambiguousName)) { throw new ArgumentException("ambiguousName is invalid ambiguous name"); } object[][] result; using (ForwardOnlyFilteredReader forwardOnlyFilteredReader = new ContactsFolder.AnrContactsReader(this, ambiguousName, sortBy, propsToReturn)) { result = this.FetchFromReader("ResolveAmbiguousNameView", forwardOnlyFilteredReader, ContactsFolder.NormalizeLimit(limit, StorageLimits.Instance.AmbiguousNamesViewResultsLimit)); } return(result); }
public object[][] FindNamesView(IDictionary <PropertyDefinition, object> dictionary, int limit, SortBy[] sortBy, params PropertyDefinition[] propsToReturn) { this.CheckDisposed("FindNamesView"); if (propsToReturn == null) { throw new ArgumentNullException("propsToReturn"); } if (propsToReturn.Length <= 0) { throw new ArgumentException("propsToReturn contains no properties"); } object[][] result; using (ForwardOnlyFilteredReader forwardOnlyFilteredReader = new ContactsFolder.FindNamesContactsReader(this, dictionary ?? new Dictionary <PropertyDefinition, object>(), sortBy, propsToReturn)) { result = this.FetchFromReader("FindNamesView", forwardOnlyFilteredReader, ContactsFolder.NormalizeLimit(limit, StorageLimits.Instance.FindNamesViewResultsLimit)); } return(result); }