Code:
/ FX-1434 / FX-1434 / 1.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
- LinqDataSourceHelper.cs
- DropSource.cs
- TripleDESCryptoServiceProvider.cs
- EventHandlerService.cs
- ObjectDataSourceEventArgs.cs
- SchemaElementLookUpTableEnumerator.cs
- ThicknessAnimationUsingKeyFrames.cs
- SqlDataSourceEnumerator.cs
- TileModeValidation.cs
- XmlSubtreeReader.cs
- EntityContainer.cs
- TranslateTransform3D.cs
- SkinBuilder.cs
- ProcessModule.cs
- Permission.cs
- HTMLTextWriter.cs
- AuthStoreRoleProvider.cs
- PropertyConverter.cs
- SqlConnectionFactory.cs
- GenericNameHandler.cs
- RestClientProxyHandler.cs
- FlowNode.cs
- PreProcessInputEventArgs.cs
- ProcessStartInfo.cs
- DataServiceContext.cs
- AstTree.cs
- InvokeWebServiceDesigner.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SelectorAutomationPeer.cs
- OletxDependentTransaction.cs
- VirtualPathProvider.cs
- TypeValidationEventArgs.cs
- Label.cs
- XsdDateTime.cs
- BulletedList.cs
- DockPattern.cs
- ToolStripStatusLabel.cs
- Triangle.cs
- FaultReason.cs
- SspiHelper.cs
- DataGridCell.cs
- infer.cs
- ShellProvider.cs
- HtmlFormParameterWriter.cs
- SystemNetHelpers.cs
- FileFormatException.cs
- GeneralTransformGroup.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- IISMapPath.cs
- EncodingNLS.cs
- MemberJoinTreeNode.cs
- dbenumerator.cs
- DispatcherTimer.cs
- FormClosedEvent.cs
- RuntimeCompatibilityAttribute.cs
- Cursor.cs
- MultiBinding.cs
- DataRecordObjectView.cs
- JulianCalendar.cs
- MetadataFile.cs
- FirewallWrapper.cs
- CacheRequest.cs
- DWriteFactory.cs
- SplitterPanel.cs
- CssStyleCollection.cs
- KnowledgeBase.cs
- TextContainerChangeEventArgs.cs
- SymmetricAlgorithm.cs
- DataGridRowHeader.cs
- ViewBox.cs
- ContractMethodInfo.cs
- DistinctQueryOperator.cs
- _SecureChannel.cs
- SQLGuidStorage.cs
- ErrorRuntimeConfig.cs
- PointConverter.cs
- ElementHostAutomationPeer.cs
- DigestComparer.cs
- Point4DConverter.cs
- BaseConfigurationRecord.cs
- UInt64Storage.cs
- StringCollection.cs
- DataGridViewCheckBoxCell.cs
- RandomNumberGenerator.cs
- TraceHandler.cs
- DbResourceAllocator.cs
- XmlReflectionImporter.cs
- PartialCachingControl.cs
- RuleDefinitions.cs
- SafeHandles.cs
- UserControl.cs
- TypeExtension.cs
- StickyNoteAnnotations.cs
- ResourceBinder.cs
- OleDbDataAdapter.cs
- SqlExpander.cs
- DelayedRegex.cs
- InternalPermissions.cs
- PropertyGridCommands.cs
- ScriptHandlerFactory.cs