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
- documentsequencetextpointer.cs
- PropertiesTab.cs
- InputScope.cs
- TileModeValidation.cs
- WorkflowPageSetupDialog.cs
- RNGCryptoServiceProvider.cs
- TextPointer.cs
- FileAccessException.cs
- Attributes.cs
- mactripleDES.cs
- UrlMappingsSection.cs
- DataGridDesigner.cs
- namescope.cs
- MissingMethodException.cs
- ActivityDesignerResources.cs
- TranslateTransform.cs
- WsatServiceCertificate.cs
- COSERVERINFO.cs
- EventDescriptor.cs
- MemoryRecordBuffer.cs
- DllNotFoundException.cs
- TypeBuilder.cs
- FixUpCollection.cs
- MouseOverProperty.cs
- XmlElementCollection.cs
- Storyboard.cs
- WsatServiceAddress.cs
- ScrollContentPresenter.cs
- GradientSpreadMethodValidation.cs
- IisTraceWebEventProvider.cs
- TextDpi.cs
- OdbcParameter.cs
- Dump.cs
- NamespaceList.cs
- ItemsChangedEventArgs.cs
- ModelItemImpl.cs
- TypeConverter.cs
- SwitchElementsCollection.cs
- AbandonedMutexException.cs
- AppModelKnownContentFactory.cs
- FlowDocumentFormatter.cs
- OdbcParameter.cs
- ModelService.cs
- DynamicVirtualDiscoSearcher.cs
- DbExpressionVisitor.cs
- LineServicesCallbacks.cs
- TextEditorCopyPaste.cs
- ChangePassword.cs
- DataBindingHandlerAttribute.cs
- UriExt.cs
- NavigationHelper.cs
- DoubleLinkList.cs
- SimpleTextLine.cs
- LongValidatorAttribute.cs
- DllNotFoundException.cs
- XmlArrayItemAttributes.cs
- TraceHandler.cs
- KeyInfo.cs
- XPathParser.cs
- TransactionContext.cs
- InplaceBitmapMetadataWriter.cs
- SecurityKeyUsage.cs
- TypeNameConverter.cs
- AutomationPropertyInfo.cs
- ImmutableDispatchRuntime.cs
- AppSettingsReader.cs
- XmlNavigatorFilter.cs
- ListChangedEventArgs.cs
- ArrayWithOffset.cs
- HostedTransportConfigurationBase.cs
- TypeSystemProvider.cs
- WebSysDescriptionAttribute.cs
- ClientSettingsStore.cs
- ContainerUIElement3D.cs
- TaskHelper.cs
- PathTooLongException.cs
- HttpListenerRequestTraceRecord.cs
- UIPermission.cs
- ServiceObjectContainer.cs
- RuntimeIdentifierPropertyAttribute.cs
- CompoundFileStorageReference.cs
- DataSourceXmlTextReader.cs
- XsdBuilder.cs
- ViewCellRelation.cs
- Tag.cs
- ScriptHandlerFactory.cs
- ObjectDataSourceWizardForm.cs
- PrinterUnitConvert.cs
- PtsContext.cs
- StringInfo.cs
- MeasurementDCInfo.cs
- Method.cs
- FirstMatchCodeGroup.cs
- WSHttpBinding.cs
- StringReader.cs
- GeometryModel3D.cs
- ReservationCollection.cs
- DLinqColumnProvider.cs
- FunctionParameter.cs
- WindowsMenu.cs