Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- //// 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
- EdmFunction.cs
- SimpleHandlerFactory.cs
- BlockingCollection.cs
- ButtonBaseAdapter.cs
- LiteralTextContainerControlBuilder.cs
- IsolatedStorageSecurityState.cs
- SqlStatistics.cs
- XmlSchemaAttribute.cs
- TcpWorkerProcess.cs
- WindowsListBox.cs
- ResourceContainer.cs
- WSTransactionSection.cs
- Debug.cs
- ByteAnimation.cs
- SchemaCollectionPreprocessor.cs
- HtmlControlPersistable.cs
- QilInvokeLateBound.cs
- RelatedView.cs
- RSAProtectedConfigurationProvider.cs
- coordinator.cs
- SystemColors.cs
- RenderOptions.cs
- InkCanvasSelectionAdorner.cs
- TextFormatterContext.cs
- MenuItemCollectionEditor.cs
- ParameterElement.cs
- DataGridColumnHeaderCollection.cs
- TextChange.cs
- SettingsAttributes.cs
- VisualStyleInformation.cs
- MimeTypeAttribute.cs
- NativeMethods.cs
- MessageQueueConverter.cs
- UrlMappingCollection.cs
- BitmapData.cs
- TraceListener.cs
- Vars.cs
- MatrixAnimationUsingKeyFrames.cs
- MemberHolder.cs
- JournalEntry.cs
- HiddenFieldPageStatePersister.cs
- RtfControlWordInfo.cs
- TabRenderer.cs
- DefaultEventAttribute.cs
- BooleanKeyFrameCollection.cs
- RoutingTable.cs
- AdRotator.cs
- Subtree.cs
- ToolBarDesigner.cs
- ThrowHelper.cs
- WebOperationContext.cs
- Model3D.cs
- NameValueConfigurationCollection.cs
- ScriptMethodAttribute.cs
- ColumnCollection.cs
- ComponentResourceManager.cs
- CommandPlan.cs
- Pointer.cs
- DuplexChannel.cs
- DataServiceSaveChangesEventArgs.cs
- DataGrid.cs
- CredentialCache.cs
- Number.cs
- SortKey.cs
- DataGridViewColumnConverter.cs
- HMACSHA1.cs
- newinstructionaction.cs
- SelectedDatesCollection.cs
- XmlDataDocument.cs
- SizeChangedInfo.cs
- TagPrefixAttribute.cs
- GlyphTypeface.cs
- MultipleViewProviderWrapper.cs
- DivideByZeroException.cs
- EncodingStreamWrapper.cs
- FileDialogCustomPlacesCollection.cs
- AssociationSetMetadata.cs
- StatementContext.cs
- RSATokenProvider.cs
- XmlParser.cs
- AuthenticationService.cs
- XamlPointCollectionSerializer.cs
- SAPICategories.cs
- CanExecuteRoutedEventArgs.cs
- RunInstallerAttribute.cs
- TaskFileService.cs
- RowUpdatingEventArgs.cs
- RayHitTestParameters.cs
- DataControlFieldCell.cs
- DynamicObjectAccessor.cs
- NullableIntAverageAggregationOperator.cs
- DataGridToolTip.cs
- ScriptBehaviorDescriptor.cs
- DesignerDataTable.cs
- SqlCacheDependencySection.cs
- DelimitedListTraceListener.cs
- httpserverutility.cs
- AnnotationResourceChangedEventArgs.cs
- DecimalAnimationBase.cs
- CommandTreeTypeHelper.cs