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
- SecureConversationSecurityTokenParameters.cs
- VectorKeyFrameCollection.cs
- PopupEventArgs.cs
- NTAccount.cs
- ISAPIApplicationHost.cs
- UpDownEvent.cs
- StoragePropertyMapping.cs
- HttpHeaderCollection.cs
- ConfigurationElementCollection.cs
- PropertyGridView.cs
- EventManager.cs
- GcSettings.cs
- XmlSigningNodeWriter.cs
- WebPartConnectionsDisconnectVerb.cs
- XmlDataSourceView.cs
- ExpressionTextBoxAutomationPeer.cs
- DataObjectCopyingEventArgs.cs
- SemanticAnalyzer.cs
- ByteKeyFrameCollection.cs
- Psha1DerivedKeyGeneratorHelper.cs
- GifBitmapDecoder.cs
- PositiveTimeSpanValidator.cs
- HttpCachePolicyElement.cs
- SelectorItemAutomationPeer.cs
- Sql8ExpressionRewriter.cs
- BitmapFrameEncode.cs
- ListItemCollection.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- precedingquery.cs
- WrappedOptions.cs
- PrintingPermissionAttribute.cs
- DoubleAnimationBase.cs
- SspiNegotiationTokenAuthenticatorState.cs
- FixUpCollection.cs
- XmlAnyElementAttributes.cs
- TreeNodeStyleCollection.cs
- XmlHierarchicalEnumerable.cs
- SerializationException.cs
- HttpValueCollection.cs
- DataKey.cs
- ExportFileRequest.cs
- FixedTextView.cs
- TemplatePagerField.cs
- WorkerRequest.cs
- _NTAuthentication.cs
- SqlDataSourceWizardForm.cs
- TargetControlTypeCache.cs
- BrowsableAttribute.cs
- TemplateNameScope.cs
- TemplateKeyConverter.cs
- GridViewSortEventArgs.cs
- GridView.cs
- grammarelement.cs
- EtwTrackingBehavior.cs
- ObjectMaterializedEventArgs.cs
- ConfigurationLocation.cs
- FixedPageProcessor.cs
- ReadContentAsBinaryHelper.cs
- ELinqQueryState.cs
- SymbolDocumentGenerator.cs
- XPathPatternBuilder.cs
- Point3DAnimationUsingKeyFrames.cs
- MetadataProperty.cs
- ComEventsSink.cs
- MembershipPasswordException.cs
- BuildProvider.cs
- RenderCapability.cs
- Model3D.cs
- AutomationPattern.cs
- PaintEvent.cs
- TypedColumnHandler.cs
- KnownBoxes.cs
- __ConsoleStream.cs
- AdPostCacheSubstitution.cs
- ServiceReflector.cs
- ArrangedElementCollection.cs
- ObjectSecurity.cs
- WindowProviderWrapper.cs
- SmiEventSink.cs
- PhysicalOps.cs
- SerTrace.cs
- WebPartConnectionsDisconnectVerb.cs
- DNS.cs
- BitSet.cs
- HttpConfigurationSystem.cs
- SystemEvents.cs
- Int32AnimationBase.cs
- CssTextWriter.cs
- Claim.cs
- ManifestBasedResourceGroveler.cs
- ParentQuery.cs
- TextTreeTextElementNode.cs
- MatrixCamera.cs
- OutputScopeManager.cs
- CanExecuteRoutedEventArgs.cs
- HtmlInputControl.cs
- Error.cs
- EventMappingSettingsCollection.cs
- DetailsViewPageEventArgs.cs
- SimpleWebHandlerParser.cs