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
- Popup.cs
- SQLDoubleStorage.cs
- MatrixStack.cs
- ToolStripScrollButton.cs
- TemplatePropertyEntry.cs
- _TransmitFileOverlappedAsyncResult.cs
- Resources.Designer.cs
- PackUriHelper.cs
- RenderDataDrawingContext.cs
- SelectionProviderWrapper.cs
- CompilationUtil.cs
- PassportIdentity.cs
- ApplicationInfo.cs
- URLMembershipCondition.cs
- QueryCoreOp.cs
- Rule.cs
- SqlInternalConnectionSmi.cs
- Literal.cs
- ToolStripDropDownDesigner.cs
- XPathExpr.cs
- GCHandleCookieTable.cs
- DesigntimeLicenseContextSerializer.cs
- ObjectDataSourceDisposingEventArgs.cs
- EqualityArray.cs
- HtmlInputReset.cs
- __Error.cs
- MemberCollection.cs
- HTMLTagNameToTypeMapper.cs
- EntityConnectionStringBuilder.cs
- FlatButtonAppearance.cs
- tooltip.cs
- RotateTransform3D.cs
- TextServicesDisplayAttribute.cs
- FormViewDeletedEventArgs.cs
- GeometryDrawing.cs
- ModuleBuilder.cs
- CodeDOMProvider.cs
- ItemCollection.cs
- COM2ColorConverter.cs
- HttpChannelHelper.cs
- Transform3D.cs
- FormViewPageEventArgs.cs
- PartitionResolver.cs
- COM2IDispatchConverter.cs
- Encoder.cs
- DesignerSerializationVisibilityAttribute.cs
- RepeaterItem.cs
- FileCodeGroup.cs
- QueryOutputWriter.cs
- InitializingNewItemEventArgs.cs
- WasNotInstalledException.cs
- XmlWellformedWriter.cs
- HttpCookie.cs
- CodeObjectCreateExpression.cs
- PersistNameAttribute.cs
- MasterPageBuildProvider.cs
- XmlTextReader.cs
- Dynamic.cs
- ProfilePropertySettings.cs
- ExternalCalls.cs
- WebZoneDesigner.cs
- RtfNavigator.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- WsatConfiguration.cs
- FontDifferentiator.cs
- Wizard.cs
- BindingListCollectionView.cs
- PrimitiveSchema.cs
- sqlnorm.cs
- PathStreamGeometryContext.cs
- InternalConfigConfigurationFactory.cs
- SqlSupersetValidator.cs
- SessionIDManager.cs
- FlowDocumentPaginator.cs
- Guid.cs
- AnnotationDocumentPaginator.cs
- SimpleNameService.cs
- Enlistment.cs
- TreeNodeCollectionEditorDialog.cs
- FacetValueContainer.cs
- DateTimeAutomationPeer.cs
- Rules.cs
- MailWriter.cs
- StylusPointProperties.cs
- PaperSource.cs
- SafeArrayTypeMismatchException.cs
- documentsequencetextpointer.cs
- DataGridViewAccessibleObject.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- SqlFactory.cs
- DbConnectionPoolGroup.cs
- ServicePointManagerElement.cs
- ConnectionStringsExpressionBuilder.cs
- PagerStyle.cs
- PartManifestEntry.cs
- SessionPageStateSection.cs
- ServiceCredentials.cs
- UnSafeCharBuffer.cs
- SQLSingle.cs
- SapiRecognizer.cs