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
- ShutDownListener.cs
- ExceptionValidationRule.cs
- CompiledELinqQueryState.cs
- DataGridViewIntLinkedList.cs
- DocumentPageView.cs
- MenuItem.cs
- COM2ColorConverter.cs
- SafeEventLogWriteHandle.cs
- EntryWrittenEventArgs.cs
- XmlLanguageConverter.cs
- GlyphsSerializer.cs
- PerformanceCountersBase.cs
- XmlStreamStore.cs
- CalloutQueueItem.cs
- OneToOneMappingSerializer.cs
- XmlAtomicValue.cs
- MessageQueuePermissionEntryCollection.cs
- InvalidOleVariantTypeException.cs
- DataRowCollection.cs
- Expr.cs
- WizardStepBase.cs
- FileDialog_Vista.cs
- AdornerPresentationContext.cs
- ProxyElement.cs
- BackgroundFormatInfo.cs
- TextComposition.cs
- ReliableReplySessionChannel.cs
- WindowClosedEventArgs.cs
- hebrewshape.cs
- ContractNamespaceAttribute.cs
- TypedReference.cs
- SecurityCriticalDataForSet.cs
- MetadataWorkspace.cs
- safePerfProviderHandle.cs
- Base64Stream.cs
- shaperfactoryquerycacheentry.cs
- ScrollViewer.cs
- ByteStream.cs
- PKCS1MaskGenerationMethod.cs
- CheckBoxList.cs
- BinaryExpression.cs
- ProcessProtocolHandler.cs
- HtmlInputPassword.cs
- SecureStringHasher.cs
- CodeSnippetStatement.cs
- ApplicationId.cs
- X509SecurityToken.cs
- ICspAsymmetricAlgorithm.cs
- IriParsingElement.cs
- ByteStreamGeometryContext.cs
- XpsSerializerWriter.cs
- MouseOverProperty.cs
- M3DUtil.cs
- TreeNodeCollectionEditor.cs
- ComplexLine.cs
- ObjectDataProvider.cs
- InfoCardClaimCollection.cs
- PopupControlService.cs
- SystemParameters.cs
- QilPatternFactory.cs
- XmlSchemaAnnotated.cs
- MenuAdapter.cs
- TimeIntervalCollection.cs
- AccessText.cs
- StylusTip.cs
- ComplexTypeEmitter.cs
- ControlUtil.cs
- _NegotiateClient.cs
- DbFunctionCommandTree.cs
- UnsupportedPolicyOptionsException.cs
- AutomationEventArgs.cs
- ProxyManager.cs
- RelationalExpressions.cs
- HttpCachePolicy.cs
- TextServicesPropertyRanges.cs
- SqlProviderManifest.cs
- HierarchicalDataBoundControlAdapter.cs
- SqlDataReaderSmi.cs
- AsyncPostBackTrigger.cs
- ColorInterpolationModeValidation.cs
- WebBrowserNavigatedEventHandler.cs
- CodeMethodReturnStatement.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- ColorAnimationUsingKeyFrames.cs
- PropertyTabChangedEvent.cs
- Delay.cs
- CollectionViewGroupRoot.cs
- EdmItemCollection.OcAssemblyCache.cs
- WeakReadOnlyCollection.cs
- GlobalizationSection.cs
- ListItemCollection.cs
- TTSEngineProxy.cs
- CannotUnloadAppDomainException.cs
- IndexedString.cs
- ScriptControl.cs
- CssClassPropertyAttribute.cs
- EventlogProvider.cs
- URLBuilder.cs
- BindValidationContext.cs
- ServicePointManagerElement.cs