Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / TableAdapterManagerNameHandler.cs / 2 / TableAdapterManagerNameHandler.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All Rights Reserved.
// Information Contained Herein is Proprietary and Confidential.
//
//-----------------------------------------------------------------------------
namespace System.Data.Design {
using System;
using System.CodeDom;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Design;
using System.Diagnostics;
using System.Globalization;
using System.Reflection;
using System.CodeDom.Compiler;
internal sealed class TableAdapterManagerNameHandler {
// Non-private class/method/property names used in TableAdapterManager
internal const string TableAdapterManagerClassName = "TableAdapterManager";
internal const string SelfRefComparerClass = "SelfReferenceComparer";
internal const string UpdateAllMethod = "UpdateAll";
internal const string SortSelfRefRowsMethod = "SortSelfReferenceRows";
internal const string MatchTAConnectionMethod = "MatchTableAdapterConnection";
internal const string UpdateAllRevertConnectionsVar = "revertConnections";
internal const string ConnectionVar = "_connection";
internal const string ConnectionProperty = "Connection";
internal const string BackupDataSetBeforeUpdateVar = "_backupDataSetBeforeUpdate";
internal const string BackupDataSetBeforeUpdateProperty = "BackupDataSetBeforeUpdate";
internal const string TableAdapterInstanceCountProperty = "TableAdapterInstanceCount";
internal const string UpdateOrderOptionProperty = "UpdateOrder";
internal const string UpdateOrderOptionVar = "_updateOrder";
internal const string UpdateOrderOptionEnum = "UpdateOrderOption";
internal const string UpdateOrderOptionEnumIUD = "InsertUpdateDelete";
internal const string UpdateOrderOptionEnumUID = "UpdateInsertDelete";
internal const string UpdateUpdatedRowsMethod = "UpdateUpdatedRows";
internal const string UpdateInsertedRowsMethod = "UpdateInsertedRows";
internal const string UpdateDeletedRowsMethod = "UpdateDeletedRows";
internal const string GetRealUpdatedRowsMethod = "GetRealUpdatedRows";
private MemberNameValidator tableAdapterManagerValidator = null;
private bool languageCaseInsensitive = false;
private CodeDomProvider codePrivider = null;
public TableAdapterManagerNameHandler(CodeDomProvider provider) {
this.codePrivider = provider;
this.languageCaseInsensitive = (this.codePrivider.LanguageOptions & LanguageOptions.CaseInsensitive) == LanguageOptions.CaseInsensitive;
}
private MemberNameValidator TableAdapterManagerValidator {
get {
if (tableAdapterManagerValidator == null) {
tableAdapterManagerValidator = new MemberNameValidator(
new string[]{
SelfRefComparerClass,
UpdateAllMethod,
SortSelfRefRowsMethod,
MatchTAConnectionMethod,
ConnectionVar,
ConnectionProperty,
BackupDataSetBeforeUpdateVar,
BackupDataSetBeforeUpdateProperty,
TableAdapterInstanceCountProperty,
UpdateOrderOptionProperty,
UpdateOrderOptionVar,
UpdateOrderOptionEnum,
UpdateUpdatedRowsMethod,
UpdateInsertedRowsMethod,
UpdateDeletedRowsMethod,
GetRealUpdatedRowsMethod
},
this.codePrivider, this.languageCaseInsensitive);
}
return this.tableAdapterManagerValidator;
}
}
///
/// Get a valid member name not conflict with known reserved name like ConnectionManager
///
///
///
internal string GetNewMemberName(string memberName) {
return this.TableAdapterManagerValidator.GetNewMemberName(memberName);
}
///
/// Get an valid TableAdapter property name
/// e.g. the class name can be CustomerTableAdapter
/// the property name can be CustomerTableAdapter as well if not conflict
///
///
///
internal string GetTableAdapterPropName(string className) {
return this.GetNewMemberName(className);
}
///
/// Helper function to get the TableAdapter variable name
///
/// Property Name, e.g. CustomerTableAdapter
/// variable name like _customerTableAdapter
internal string GetTableAdapterVarName(string propName) {
Debug.Assert(propName != null && propName.Length > 0);
Debug.Assert(propName.IndexOf('.') < 0);
propName = "_" + Char.ToLower(propName[0],CultureInfo.InvariantCulture) + propName.Remove(0, 1);
//
return this.GetNewMemberName(propName);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XslTransform.cs
- SymLanguageType.cs
- codemethodreferenceexpression.cs
- ScaleTransform3D.cs
- XmlDataDocument.cs
- DataRowChangeEvent.cs
- MemoryMappedFile.cs
- TemplateBuilder.cs
- SHA1.cs
- UrlPropertyAttribute.cs
- BuildProviderCollection.cs
- ArgumentNullException.cs
- CacheVirtualItemsEvent.cs
- TableLayoutRowStyleCollection.cs
- DataGridViewLinkCell.cs
- MultiDataTrigger.cs
- SchemaInfo.cs
- UdpAnnouncementEndpoint.cs
- FileRegion.cs
- ProxyWebPartManager.cs
- TranslateTransform3D.cs
- Domain.cs
- OptimizedTemplateContent.cs
- NonParentingControl.cs
- SemaphoreSlim.cs
- ConstraintEnumerator.cs
- ProbeDuplexCD1AsyncResult.cs
- OdbcParameter.cs
- HandledMouseEvent.cs
- MethodBody.cs
- SchemaInfo.cs
- LineSegment.cs
- DTCTransactionManager.cs
- RadioButton.cs
- DescendantBaseQuery.cs
- RayHitTestParameters.cs
- X509UI.cs
- GridErrorDlg.cs
- DataBindingHandlerAttribute.cs
- AudioFormatConverter.cs
- WebPartConnectionsConfigureVerb.cs
- HttpBindingExtension.cs
- DataGridViewLayoutData.cs
- SizeAnimation.cs
- ResetableIterator.cs
- FixedSOMFixedBlock.cs
- SystemWebExtensionsSectionGroup.cs
- WithParamAction.cs
- AppDomainManager.cs
- Light.cs
- DateTimeValueSerializer.cs
- GridViewSelectEventArgs.cs
- Thumb.cs
- Listbox.cs
- Permission.cs
- DataMemberAttribute.cs
- WebBrowserHelper.cs
- SerializationStore.cs
- SmtpFailedRecipientsException.cs
- StreamResourceInfo.cs
- IWorkflowDebuggerService.cs
- XPathNodeHelper.cs
- MetadataImporter.cs
- HiddenField.cs
- PerspectiveCamera.cs
- WindowsScrollBar.cs
- KeyValueConfigurationElement.cs
- TreeWalkHelper.cs
- FileFormatException.cs
- ApplicationBuildProvider.cs
- ManagementObject.cs
- CodeMethodReturnStatement.cs
- SafeSystemMetrics.cs
- MetadataArtifactLoader.cs
- CheckoutException.cs
- AutomationPropertyInfo.cs
- PolyBezierSegment.cs
- FontCollection.cs
- TypeToken.cs
- CryptographicAttribute.cs
- ModuleBuilder.cs
- Bind.cs
- AutoResizedEvent.cs
- MonitorWrapper.cs
- BaseCollection.cs
- MessageLoggingElement.cs
- RuleAction.cs
- IgnoreDeviceFilterElement.cs
- SqlDataSourceStatusEventArgs.cs
- MethodToken.cs
- ToolStripSplitStackLayout.cs
- ControlParameter.cs
- ItemChangedEventArgs.cs
- ReadOnlyHierarchicalDataSourceView.cs
- BackStopAuthenticationModule.cs
- XmlChildEnumerator.cs
- ConfigXmlElement.cs
- VersionPair.cs
- DbFunctionCommandTree.cs
- SmiContext.cs