Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Error.cs
- SByte.cs
- MemberInitExpression.cs
- ToolStripAdornerWindowService.cs
- LZCodec.cs
- UriSchemeKeyedCollection.cs
- AccessDataSource.cs
- OrderPreservingPipeliningSpoolingTask.cs
- CodeRegionDirective.cs
- ToolStripDropDownButton.cs
- OneOf.cs
- Point4DConverter.cs
- PersonalizationStateInfoCollection.cs
- OciEnlistContext.cs
- Int32EqualityComparer.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- EditorZoneAutoFormat.cs
- WebBrowsableAttribute.cs
- _BaseOverlappedAsyncResult.cs
- MsmqHostedTransportManager.cs
- TextPenaltyModule.cs
- Dispatcher.cs
- SmtpReplyReader.cs
- Signature.cs
- RepeatInfo.cs
- Variant.cs
- ResourceDescriptionAttribute.cs
- FrugalList.cs
- ReachDocumentSequenceSerializerAsync.cs
- ClusterRegistryConfigurationProvider.cs
- CodeDirectionExpression.cs
- DrawingImage.cs
- BooleanConverter.cs
- RangeValueProviderWrapper.cs
- ReadingWritingEntityEventArgs.cs
- ApplicationException.cs
- GatewayDefinition.cs
- DataControlHelper.cs
- ConfigurationStrings.cs
- DataShape.cs
- TraceHelpers.cs
- HandleCollector.cs
- FormsAuthenticationUser.cs
- WebPartTransformerAttribute.cs
- UniqueEventHelper.cs
- MetadataProperty.cs
- TextDocumentView.cs
- NaturalLanguageHyphenator.cs
- ZeroOpNode.cs
- UserNameSecurityToken.cs
- PointConverter.cs
- PersonalizationAdministration.cs
- ToolStripRendererSwitcher.cs
- CaseInsensitiveHashCodeProvider.cs
- EditorZone.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- XsdCachingReader.cs
- ProviderBase.cs
- _BaseOverlappedAsyncResult.cs
- DbConnectionOptions.cs
- ResumeStoryboard.cs
- SessionParameter.cs
- OleDbSchemaGuid.cs
- EnvelopedSignatureTransform.cs
- PathNode.cs
- SwitchAttribute.cs
- JavaScriptSerializer.cs
- WindowsTab.cs
- DataGridViewCellStateChangedEventArgs.cs
- Registry.cs
- ProgressBarHighlightConverter.cs
- ElementUtil.cs
- TableLayout.cs
- DateTimeEditor.cs
- PingOptions.cs
- AppDomainUnloadedException.cs
- RenderDataDrawingContext.cs
- SqlDataSourceFilteringEventArgs.cs
- assemblycache.cs
- GZipStream.cs
- ConfigXmlComment.cs
- Geometry3D.cs
- ColumnHeader.cs
- StorageScalarPropertyMapping.cs
- DataControlFieldCollection.cs
- StringCollectionEditor.cs
- OutputCacheProfile.cs
- WindowsNonControl.cs
- RefreshPropertiesAttribute.cs
- SwitchAttribute.cs
- TdsParserStateObject.cs
- CssStyleCollection.cs
- MarkupCompilePass2.cs
- BaseResourcesBuildProvider.cs
- SmtpNetworkElement.cs
- SrgsSubset.cs
- XmlBinaryReaderSession.cs
- WaitHandleCannotBeOpenedException.cs
- BrowserCapabilitiesFactory.cs
- NameNode.cs