Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Role / DirectoryGroupQuery.cs / 1305376 / DirectoryGroupQuery.cs
#region Using directives using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Net; using System.DirectoryServices; #endregion namespace System.Workflow.Activities { [Serializable] sealed internal class DirectoryGroupQuery : IDirectoryOperation { public DirectoryGroupQuery() { } public void GetResult(DirectoryEntry rootEntry, DirectoryEntry currentEntry, Listresponse) { if (response == null) throw new ArgumentNullException("response"); Stack entries = new Stack (); entries.Push(currentEntry); while (entries.Count != 0) { DirectoryEntry entry = entries.Pop(); bool isGroup = false; if (Contains(entry.Properties.PropertyNames,"objectClass")) { foreach (String value in entry.Properties["objectClass"]) { if (String.Compare(value, ActiveDirectoryRoleFactory.Configuration.Group, StringComparison.Ordinal) == 0) { isGroup = true; break; } } if (isGroup) { if (Contains(entry.Properties.PropertyNames, ActiveDirectoryRoleFactory.Configuration.Member)) { foreach (String propValue in entry.Properties[ActiveDirectoryRoleFactory.Configuration.Member]) { entries.Push(new DirectoryEntry(BuildUri(propValue))); } } } else { response.Add(entry); } } } } private static bool Contains(ICollection propertyNames, String testPropertyName) { foreach (String propertyName in propertyNames) { if (String.Compare(propertyName, testPropertyName, StringComparison.Ordinal) == 0) return true; } return false; } private static String BuildUri(String propValue) { StringBuilder sb = new StringBuilder(); sb.Append("LDAP://"); for (int i = 0; i < propValue.Length; ++i) { if (propValue[i] == '/') sb.Append("\\/"); else sb.Append(propValue[i]); } return sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ProfileProvider.cs
- XmlLanguage.cs
- UIElement.cs
- EntityCollectionChangedParams.cs
- XPathEmptyIterator.cs
- GeometryConverter.cs
- HttpRawResponse.cs
- Privilege.cs
- InternalReceiveMessage.cs
- GeneralTransform3DTo2D.cs
- CoTaskMemHandle.cs
- TextTreeTextElementNode.cs
- GregorianCalendarHelper.cs
- BuildProviderAppliesToAttribute.cs
- ProfileBuildProvider.cs
- SqlDataSourceQueryConverter.cs
- Gdiplus.cs
- EngineSite.cs
- ObjectItemAttributeAssemblyLoader.cs
- DecimalSumAggregationOperator.cs
- ContentPlaceHolder.cs
- OleDbCommandBuilder.cs
- StateMachine.cs
- SectionXmlInfo.cs
- XPathSelfQuery.cs
- GregorianCalendar.cs
- FormViewDeleteEventArgs.cs
- DetailsViewPageEventArgs.cs
- MatrixTransform.cs
- AttributedMetaModel.cs
- ExpressionTextBox.xaml.cs
- CompilerScope.Storage.cs
- ColorConverter.cs
- StreamSecurityUpgradeInitiatorBase.cs
- ReadOnlyState.cs
- PointCollection.cs
- WebControlParameterProxy.cs
- ObjectMemberMapping.cs
- SQLSingle.cs
- CodeMethodInvokeExpression.cs
- mactripleDES.cs
- FileLogRecord.cs
- ContextBase.cs
- CustomValidator.cs
- RequestChannelBinder.cs
- ProvidePropertyAttribute.cs
- DelegateBodyWriter.cs
- PersonalizationStateQuery.cs
- ZipIOExtraFieldPaddingElement.cs
- ListItemCollection.cs
- AlternateView.cs
- InstancePersistence.cs
- WrappedOptions.cs
- PeerNameRegistration.cs
- MemberInfoSerializationHolder.cs
- DBSchemaRow.cs
- SetIterators.cs
- OdbcConnectionString.cs
- WebConfigManager.cs
- SynchronizedInputPattern.cs
- EntityException.cs
- FontNamesConverter.cs
- SchemaImporter.cs
- DesignerTextViewAdapter.cs
- InstalledVoice.cs
- SafeReadContext.cs
- LoginAutoFormat.cs
- Expander.cs
- TreeView.cs
- BasicCellRelation.cs
- EngineSite.cs
- SchemaNames.cs
- BindingExpressionUncommonField.cs
- DoWorkEventArgs.cs
- Collection.cs
- TraceSwitch.cs
- MenuCommand.cs
- DataRelation.cs
- SafeNativeMethodsOther.cs
- NameSpaceEvent.cs
- FileLevelControlBuilderAttribute.cs
- SystemPens.cs
- SqlUserDefinedAggregateAttribute.cs
- NullableFloatSumAggregationOperator.cs
- RoleServiceManager.cs
- ChtmlTextWriter.cs
- SHA512.cs
- Simplifier.cs
- odbcmetadatacollectionnames.cs
- StringUtil.cs
- WorkflowItemsPresenter.cs
- SecurityCriticalDataForSet.cs
- ToolStripOverflowButton.cs
- ListChangedEventArgs.cs
- PrinterSettings.cs
- KnownColorTable.cs
- ToolStripButton.cs
- X509SecurityToken.cs
- Int32Converter.cs
- QilInvokeLateBound.cs