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
- XmlValidatingReaderImpl.cs
- CompiledQueryCacheKey.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- sqlnorm.cs
- HtmlGenericControl.cs
- ButtonPopupAdapter.cs
- MD5CryptoServiceProvider.cs
- CodeDirectionExpression.cs
- TargetConverter.cs
- Emitter.cs
- ListViewInsertEventArgs.cs
- TreeView.cs
- ToolStripItemImageRenderEventArgs.cs
- XmlSchemaImporter.cs
- VirtualizingStackPanel.cs
- ByteStack.cs
- AllowedAudienceUriElement.cs
- ToolStripContainerActionList.cs
- UriTemplateClientFormatter.cs
- FileVersion.cs
- RangeContentEnumerator.cs
- SiteMapNode.cs
- StyleCollectionEditor.cs
- WrappedDispatcherException.cs
- KeyboardDevice.cs
- RawStylusInputCustomData.cs
- GenericUriParser.cs
- RequestQueue.cs
- XamlSerializationHelper.cs
- DownloadProgressEventArgs.cs
- MenuItem.cs
- EventLogException.cs
- XmlDataSource.cs
- ServiceModelExtensionCollectionElement.cs
- QueryExpr.cs
- MobileTemplatedControlDesigner.cs
- ColorContext.cs
- WindowPattern.cs
- HttpProfileBase.cs
- SQLByte.cs
- XslException.cs
- DebugController.cs
- SaveFileDialog.cs
- ControlValuePropertyAttribute.cs
- LowerCaseStringConverter.cs
- Unit.cs
- EventLogPermissionHolder.cs
- Double.cs
- ComponentCollection.cs
- SqlXml.cs
- SplineQuaternionKeyFrame.cs
- UnauthorizedWebPart.cs
- GridViewHeaderRowPresenter.cs
- EntryWrittenEventArgs.cs
- TextRangeProviderWrapper.cs
- ModulesEntry.cs
- Select.cs
- namescope.cs
- SelectionUIService.cs
- ByteRangeDownloader.cs
- Compiler.cs
- SerializeAbsoluteContext.cs
- WorkflowServiceHostFactory.cs
- UniqueConstraint.cs
- ImageInfo.cs
- SchemaType.cs
- DatatypeImplementation.cs
- MobileControlBuilder.cs
- FacetEnabledSchemaElement.cs
- XmlAnyElementAttributes.cs
- Wrapper.cs
- EdmPropertyAttribute.cs
- EventsTab.cs
- RangeContentEnumerator.cs
- ToolboxItemWrapper.cs
- StylusDevice.cs
- MsmqMessageProperty.cs
- DataKey.cs
- InputProviderSite.cs
- Frame.cs
- QueryCacheKey.cs
- DataTableCollection.cs
- TypeBuilder.cs
- IRCollection.cs
- SecurityKeyIdentifier.cs
- DataSetViewSchema.cs
- HtmlFormWrapper.cs
- WindowsStartMenu.cs
- CreateParams.cs
- EntityDataSource.cs
- MessagePartDescriptionCollection.cs
- Deflater.cs
- SettingsAttributes.cs
- MarkupProperty.cs
- ObjectHandle.cs
- DataPagerField.cs
- XmlAttributes.cs
- ModuleElement.cs
- ClientOptions.cs
- CodeDomLoader.cs