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
- ResourcePermissionBase.cs
- XmlElement.cs
- LoginView.cs
- TypeExtensions.cs
- isolationinterop.cs
- KeyPressEvent.cs
- SubpageParaClient.cs
- TrackingRecordPreFilter.cs
- XslException.cs
- TerminateDesigner.cs
- ColorConvertedBitmapExtension.cs
- SubMenuStyleCollectionEditor.cs
- SingleConverter.cs
- EntityClassGenerator.cs
- DescriptionAttribute.cs
- SqlReorderer.cs
- RtfControlWordInfo.cs
- SingleConverter.cs
- HashSet.cs
- AtomMaterializerLog.cs
- RuntimeArgumentHandle.cs
- OleDbPermission.cs
- DataGridRow.cs
- MissingSatelliteAssemblyException.cs
- WebResourceUtil.cs
- FieldDescriptor.cs
- AssertFilter.cs
- RowsCopiedEventArgs.cs
- ConfigsHelper.cs
- EdmPropertyAttribute.cs
- DataRowView.cs
- PolicyLevel.cs
- _UncName.cs
- HMACSHA256.cs
- Facet.cs
- InputLanguageSource.cs
- EnumConverter.cs
- SearchForVirtualItemEventArgs.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- InputGestureCollection.cs
- WebServicesInteroperability.cs
- TraceHandlerErrorFormatter.cs
- ManagementObjectCollection.cs
- FormViewPagerRow.cs
- OleDbCommand.cs
- ExpressionServices.cs
- TraceHandler.cs
- ArrayConverter.cs
- PackageRelationshipCollection.cs
- ResourceDescriptionAttribute.cs
- BamlResourceSerializer.cs
- DataException.cs
- AspNetSynchronizationContext.cs
- ToolStripItemCollection.cs
- NullableDecimalAverageAggregationOperator.cs
- WebBrowserProgressChangedEventHandler.cs
- UnsupportedPolicyOptionsException.cs
- Types.cs
- NonSerializedAttribute.cs
- GroupItemAutomationPeer.cs
- ChooseAction.cs
- DBAsyncResult.cs
- ITreeGenerator.cs
- BuildProvider.cs
- ConfigXmlDocument.cs
- ControlTemplate.cs
- DetailsViewCommandEventArgs.cs
- XmlMemberMapping.cs
- SecurityTokenException.cs
- DataView.cs
- SimpleLine.cs
- DigitShape.cs
- SqlDataSourceCache.cs
- DirectionalLight.cs
- XmlQueryContext.cs
- Int64AnimationBase.cs
- FunctionNode.cs
- UriSection.cs
- CacheOutputQuery.cs
- AnyReturnReader.cs
- StackOverflowException.cs
- PropertyMapper.cs
- NameTable.cs
- UnsafeNativeMethods.cs
- _DomainName.cs
- localization.cs
- CodeSnippetCompileUnit.cs
- ISessionStateStore.cs
- ExpressionBuilder.cs
- securestring.cs
- InterleavedZipPartStream.cs
- GridViewItemAutomationPeer.cs
- _CacheStreams.cs
- DbConnectionClosed.cs
- ErrorFormatter.cs
- _SSPISessionCache.cs
- XmlQualifiedName.cs
- Calendar.cs
- MenuItemBindingCollection.cs
- DataServiceProcessingPipeline.cs