Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Providers / ResourceAssociationType.cs / 1305376 / ResourceAssociationType.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Simple couple of classes to keep association descriptions // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Providers { using System.Diagnostics; using System.Collections.Generic; ////// Stores information about a association and its ends /// internal class ResourceAssociationType { ///FullName of the association. private readonly string fullName; ///Name of the association private readonly string name; ///end1 for this association. private readonly ResourceAssociationTypeEnd end1; ///end2 for this association. private readonly ResourceAssociationTypeEnd end2; ////// Creates a new instance of AssociationInfo to store information about an association. /// /// name of the association. /// namespaceName of the association. /// first end of the association. /// second end of the association. internal ResourceAssociationType(string name, string namespaceName, ResourceAssociationTypeEnd end1, ResourceAssociationTypeEnd end2) { Debug.Assert(!String.IsNullOrEmpty(name), "!String.IsNullOrEmpty(name)"); Debug.Assert(end1 != null && end2 != null, "end1 != null && end2 != null"); this.name = name; this.fullName = namespaceName + "." + name; this.end1 = end1; this.end2 = end2; } ///FullName of the association. internal string FullName { get { return this.fullName; } } ///Name of the association. internal string Name { get { return this.name; } } ///end1 for this association. internal ResourceAssociationTypeEnd End1 { get { return this.end1; } } ///end2 for this association. internal ResourceAssociationTypeEnd End2 { get { return this.end2; } } ////// Retrieve the end for the given resource set, type and property. /// /// resource type for the end /// resource property for the end ///Association type end for the given parameters internal ResourceAssociationTypeEnd GetResourceAssociationTypeEnd(ResourceType resourceType, ResourceProperty resourceProperty) { Debug.Assert(resourceType != null, "resourceType != null"); foreach (ResourceAssociationTypeEnd end in new[] { this.end1, this.end2 }) { if (end.ResourceType == resourceType && end.ResourceProperty == resourceProperty) { return end; } } return null; } ////// Retrieve the related end for the given resource set, type and property. /// /// resource type for the source end /// resource property for the source end ///Related association type end for the given parameters internal ResourceAssociationTypeEnd GetRelatedResourceAssociationSetEnd(ResourceType resourceType, ResourceProperty resourceProperty) { Debug.Assert(resourceType != null, "resourceType != null"); ResourceAssociationTypeEnd thisEnd = this.GetResourceAssociationTypeEnd(resourceType, resourceProperty); if (thisEnd != null) { foreach (ResourceAssociationTypeEnd end in new[] { this.end1, this.end2 }) { if (end != thisEnd) { return end; } } } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Simple couple of classes to keep association descriptions // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Providers { using System.Diagnostics; using System.Collections.Generic; ////// Stores information about a association and its ends /// internal class ResourceAssociationType { ///FullName of the association. private readonly string fullName; ///Name of the association private readonly string name; ///end1 for this association. private readonly ResourceAssociationTypeEnd end1; ///end2 for this association. private readonly ResourceAssociationTypeEnd end2; ////// Creates a new instance of AssociationInfo to store information about an association. /// /// name of the association. /// namespaceName of the association. /// first end of the association. /// second end of the association. internal ResourceAssociationType(string name, string namespaceName, ResourceAssociationTypeEnd end1, ResourceAssociationTypeEnd end2) { Debug.Assert(!String.IsNullOrEmpty(name), "!String.IsNullOrEmpty(name)"); Debug.Assert(end1 != null && end2 != null, "end1 != null && end2 != null"); this.name = name; this.fullName = namespaceName + "." + name; this.end1 = end1; this.end2 = end2; } ///FullName of the association. internal string FullName { get { return this.fullName; } } ///Name of the association. internal string Name { get { return this.name; } } ///end1 for this association. internal ResourceAssociationTypeEnd End1 { get { return this.end1; } } ///end2 for this association. internal ResourceAssociationTypeEnd End2 { get { return this.end2; } } ////// Retrieve the end for the given resource set, type and property. /// /// resource type for the end /// resource property for the end ///Association type end for the given parameters internal ResourceAssociationTypeEnd GetResourceAssociationTypeEnd(ResourceType resourceType, ResourceProperty resourceProperty) { Debug.Assert(resourceType != null, "resourceType != null"); foreach (ResourceAssociationTypeEnd end in new[] { this.end1, this.end2 }) { if (end.ResourceType == resourceType && end.ResourceProperty == resourceProperty) { return end; } } return null; } ////// Retrieve the related end for the given resource set, type and property. /// /// resource type for the source end /// resource property for the source end ///Related association type end for the given parameters internal ResourceAssociationTypeEnd GetRelatedResourceAssociationSetEnd(ResourceType resourceType, ResourceProperty resourceProperty) { Debug.Assert(resourceType != null, "resourceType != null"); ResourceAssociationTypeEnd thisEnd = this.GetResourceAssociationTypeEnd(resourceType, resourceProperty); if (thisEnd != null) { foreach (ResourceAssociationTypeEnd end in new[] { this.end1, this.end2 }) { if (end != thisEnd) { return end; } } } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RSAOAEPKeyExchangeDeformatter.cs
- SamlAuthorizationDecisionStatement.cs
- CreateUserErrorEventArgs.cs
- BindingSourceDesigner.cs
- GridViewRowPresenterBase.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- DataFormats.cs
- RangeBase.cs
- Line.cs
- HandleCollector.cs
- StringValidator.cs
- NativeMethods.cs
- PageClientProxyGenerator.cs
- Timer.cs
- SmiEventSink_Default.cs
- QuotedStringWriteStateInfo.cs
- _ProxyChain.cs
- CookielessData.cs
- DataRelation.cs
- MetadataArtifactLoaderResource.cs
- ValueUnavailableException.cs
- ProviderCollection.cs
- GroupLabel.cs
- WebPartUtil.cs
- ToolStripOverflowButton.cs
- XamlWrapperReaders.cs
- PeerReferralPolicy.cs
- SubclassTypeValidator.cs
- SiteMembershipCondition.cs
- ApplicationDirectory.cs
- RegexRunner.cs
- BezierSegment.cs
- GenericAuthenticationEventArgs.cs
- LabelDesigner.cs
- IconHelper.cs
- WindowsFormsSynchronizationContext.cs
- TextEditor.cs
- DispatcherExceptionEventArgs.cs
- ButtonFieldBase.cs
- TextCollapsingProperties.cs
- EditorPartDesigner.cs
- CatalogUtil.cs
- X509UI.cs
- WebBrowsableAttribute.cs
- RegexWriter.cs
- SafeHandles.cs
- SerializationException.cs
- XmlSchemaSubstitutionGroup.cs
- QuaternionAnimation.cs
- AnnotationObservableCollection.cs
- OutputCacheProfile.cs
- EntityDataSourceDataSelection.cs
- BindUriHelper.cs
- DependencyPropertyAttribute.cs
- OptionalRstParameters.cs
- _UriTypeConverter.cs
- ResourcePool.cs
- WindowInteropHelper.cs
- StylusButtonCollection.cs
- FileUtil.cs
- QueryPageSettingsEventArgs.cs
- DataObjectFieldAttribute.cs
- PropertyChangeTracker.cs
- BindingSource.cs
- OrthographicCamera.cs
- QuaternionKeyFrameCollection.cs
- PngBitmapDecoder.cs
- TableLayoutColumnStyleCollection.cs
- WsatConfiguration.cs
- HttpValueCollection.cs
- BaseTemplateBuildProvider.cs
- DesignerCategoryAttribute.cs
- ConfigurationPropertyCollection.cs
- XmlLoader.cs
- BinaryObjectInfo.cs
- Color.cs
- PropertyGroupDescription.cs
- WebProxyScriptElement.cs
- FormattedText.cs
- FontStyleConverter.cs
- ProcessRequestArgs.cs
- DeflateEmulationStream.cs
- OleDbException.cs
- RowVisual.cs
- ToolStripPanelCell.cs
- HwndAppCommandInputProvider.cs
- TraceListeners.cs
- XNameConverter.cs
- SqlDataReader.cs
- WCFBuildProvider.cs
- Matrix3DConverter.cs
- Quaternion.cs
- ImpersonateTokenRef.cs
- DataControlFieldCollection.cs
- ConfigXmlWhitespace.cs
- CoreSwitches.cs
- PartEditor.cs
- GridProviderWrapper.cs
- SQLBinary.cs
- HashAlgorithm.cs