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
- InputProviderSite.cs
- DateTimeHelper.cs
- SmtpNegotiateAuthenticationModule.cs
- UnionCqlBlock.cs
- GregorianCalendar.cs
- PerfCounters.cs
- LayoutEditorPart.cs
- ProcessHostServerConfig.cs
- ServiceContractListItem.cs
- ArglessEventHandlerProxy.cs
- XMLDiffLoader.cs
- XPathNodeIterator.cs
- JsonQNameDataContract.cs
- SharedStatics.cs
- StoreAnnotationsMap.cs
- XmlWriterTraceListener.cs
- SR.Designer.cs
- SymbolPair.cs
- TextLineBreak.cs
- objectresult_tresulttype.cs
- ContentPlaceHolder.cs
- ChannelManagerService.cs
- DataError.cs
- Compress.cs
- SiblingIterators.cs
- MatrixAnimationUsingPath.cs
- EntityType.cs
- RectangleGeometry.cs
- ExtendedPropertyCollection.cs
- NavigationCommands.cs
- BindStream.cs
- StandardBindingOptionalReliableSessionElement.cs
- ZoneButton.cs
- WebReference.cs
- WmlTextViewAdapter.cs
- ListControl.cs
- ResourceDictionary.cs
- FilteredXmlReader.cs
- Adorner.cs
- BuildProviderAppliesToAttribute.cs
- ColumnMapProcessor.cs
- DataFormat.cs
- CustomErrorsSectionWrapper.cs
- MetadataProperty.cs
- infer.cs
- MultiDataTrigger.cs
- __Filters.cs
- ExternalCalls.cs
- Rotation3D.cs
- DynamicILGenerator.cs
- HtmlControlPersistable.cs
- HtmlForm.cs
- QilDataSource.cs
- ProgressBarBrushConverter.cs
- ClientBuildManager.cs
- UTF8Encoding.cs
- BmpBitmapDecoder.cs
- CryptoProvider.cs
- UriSectionData.cs
- SerializationEventsCache.cs
- AssemblyLoader.cs
- FlowLayout.cs
- TextTreeRootNode.cs
- RtfToken.cs
- XmlMembersMapping.cs
- RegistrySecurity.cs
- TemplateComponentConnector.cs
- StyleBamlRecordReader.cs
- SafeHandles.cs
- FontSourceCollection.cs
- GACIdentityPermission.cs
- TranslateTransform.cs
- SchemaImporter.cs
- Normalization.cs
- FormClosedEvent.cs
- COM2ICategorizePropertiesHandler.cs
- SecurityDocument.cs
- HealthMonitoringSection.cs
- TreePrinter.cs
- HijriCalendar.cs
- HtmlEncodedRawTextWriter.cs
- PaintEvent.cs
- BitmapDecoder.cs
- NCryptSafeHandles.cs
- NumberSubstitution.cs
- SelectionProcessor.cs
- ParenthesizePropertyNameAttribute.cs
- ConfigurationSection.cs
- HtmlElementEventArgs.cs
- RegexCharClass.cs
- OLEDB_Enum.cs
- TypeDescriptorContext.cs
- SafeRegistryHandle.cs
- AttachedAnnotationChangedEventArgs.cs
- SmiConnection.cs
- odbcmetadatacollectionnames.cs
- CardSpaceException.cs
- CachedFontFace.cs
- MatchSingleFxEngineOpcode.cs
- StateItem.cs