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
- ProcessModuleCollection.cs
- TraceHandler.cs
- ImageList.cs
- XmlWrappingReader.cs
- XNodeValidator.cs
- IntPtr.cs
- FileChangesMonitor.cs
- ClientRuntimeConfig.cs
- AddInToken.cs
- PocoEntityKeyStrategy.cs
- CompileXomlTask.cs
- StrokeCollectionDefaultValueFactory.cs
- SqlMethodAttribute.cs
- UIElementIsland.cs
- TransactionFilter.cs
- Int16.cs
- AppDomainResourcePerfCounters.cs
- StateMachineSubscription.cs
- RepeaterItemEventArgs.cs
- TextInfo.cs
- XPathQilFactory.cs
- ProcessHostFactoryHelper.cs
- ConstrainedDataObject.cs
- QuadraticBezierSegment.cs
- MexBindingBindingCollectionElement.cs
- GregorianCalendar.cs
- FixedSOMPageElement.cs
- ZipIOFileItemStream.cs
- CodeDelegateInvokeExpression.cs
- PeerConnector.cs
- XmlILIndex.cs
- ExceptionUtil.cs
- EmissiveMaterial.cs
- ExpressionContext.cs
- StringToken.cs
- UnsafeNativeMethodsPenimc.cs
- HttpModuleActionCollection.cs
- KeyEvent.cs
- Suspend.cs
- Thumb.cs
- MsmqReceiveHelper.cs
- SiteMapHierarchicalDataSourceView.cs
- SqlDeflator.cs
- VectorAnimation.cs
- ApplicationActivator.cs
- MessagePropertyDescription.cs
- SqlMethodTransformer.cs
- XmlObjectSerializerWriteContextComplex.cs
- XmlRawWriterWrapper.cs
- DeleteCardRequest.cs
- AssociatedControlConverter.cs
- EntitySetBase.cs
- SHA384Managed.cs
- Formatter.cs
- EventLogger.cs
- XmlILOptimizerVisitor.cs
- NodeFunctions.cs
- RunInstallerAttribute.cs
- CngUIPolicy.cs
- BamlLocalizableResourceKey.cs
- InputLanguageProfileNotifySink.cs
- MulticastIPAddressInformationCollection.cs
- DateTimeOffset.cs
- ApplicationActivator.cs
- TextParaClient.cs
- TextElementEnumerator.cs
- NativeCompoundFileAPIs.cs
- TypeResolver.cs
- CompiledQuery.cs
- DataSourceHelper.cs
- ScriptServiceAttribute.cs
- ApplicationException.cs
- TemplateField.cs
- WebPartsPersonalization.cs
- CollectionViewGroup.cs
- GeneralTransform3D.cs
- StringComparer.cs
- SymLanguageVendor.cs
- WebBrowserUriTypeConverter.cs
- BlobPersonalizationState.cs
- StateDesignerConnector.cs
- DiscriminatorMap.cs
- Model3D.cs
- RegistryPermission.cs
- ParamArrayAttribute.cs
- DataBindingHandlerAttribute.cs
- RegionIterator.cs
- Opcode.cs
- TableRowCollection.cs
- EventDescriptorCollection.cs
- ColorConvertedBitmapExtension.cs
- WebPartDescription.cs
- JsonReaderDelegator.cs
- XmlSchemaFacet.cs
- ListenUriMode.cs
- ResXFileRef.cs
- DesignerDataConnection.cs
- EventRoute.cs
- activationcontext.cs
- RunClient.cs