public abstract DirectoryObject[] GetDirectoryObjectsBySearchCriteria(SearchCriteria[] searchCriteria);
Exemple #2
0
		public override IList<IUser> GetUsersBySearchCriteria(IEnumerable<Users.SearchCriteria> searchCriteriaCollection) {
			if(searchCriteriaCollection == null)
				throw new ArgumentNullException("searchCriteriaCollection");

			var uc = new List<IUser>();
			ArrayList arrayList = new ArrayList();
			foreach(var searchCriteria in searchCriteriaCollection) {
				SearchCriteria sc = new SearchCriteria(searchCriteria.Property.Name, searchCriteria.Property.ToSerializedString(), searchCriteria.Required);
				arrayList.Add(sc);
			}
			SearchCriteria[] scArray = (SearchCriteria[])arrayList.ToArray(typeof(SearchCriteria));
			DirectoryObject[] dirObjs = CurrentDS.GetDirectoryObjectsBySearchCriteria(scArray);
			foreach(DirectoryObject dirObj in dirObjs) {
				uc.Add(GetUserFromDirectoryObject(dirObj));
			}
			this.UserCache.AddUsersToCache(uc);
			return uc;
		}