Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / TableAdapterManagerGenerator.cs / 3 / TableAdapterManagerGenerator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All Rights Reserved. // Information Contained Herein is Proprietary and Confidential. // //----------------------------------------------------------------------------- namespace System.Data.Design { using System.Diagnostics; using System; using System.IO; using System.Data; using System.CodeDom; using System.Text; using System.Xml; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Globalization; using System.CodeDom.Compiler; using System.Runtime.InteropServices; ////// This class is used to generate the TableAdapterManager in the Hierarchical Update feature /// TypedDataSourceCodeGenerator will instanciate this class to generate TableAdapterManager related code. /// internal sealed class TableAdapterManagerGenerator { private TypedDataSourceCodeGenerator dataSourceGenerator = null; private const string adapterDesigner = "Microsoft.VSDesigner.DataSource.Design.TableAdapterManagerDesigner"; private const string helpKeyword = "vs.data.TableAdapterManager"; internal TableAdapterManagerGenerator(TypedDataSourceCodeGenerator codeGenerator) { this.dataSourceGenerator = codeGenerator; } internal CodeTypeDeclaration GenerateAdapterManager(DesignDataSource dataSource, CodeTypeDeclaration dataSourceClass) { // Create CodeTypeDeclaration // Type is internal if any TableAdapter is internal // TypeAttributes typeAttributes = TypeAttributes.Public; foreach (DesignTable table in dataSource.DesignTables) { if ((table.DataAccessorModifier & TypeAttributes.Public) != TypeAttributes.Public) { typeAttributes = table.DataAccessorModifier; } } CodeTypeDeclaration dataComponentClass = CodeGenHelper.Class(TableAdapterManagerNameHandler.TableAdapterManagerClassName, true, typeAttributes); dataComponentClass.Comments.Add(CodeGenHelper.Comment("TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios", true)); dataComponentClass.BaseTypes.Add(CodeGenHelper.GlobalType(typeof(ComponentModel.Component))); // Set Attributes dataComponentClass.CustomAttributes.Add(CodeGenHelper.AttributeDecl("System.ComponentModel.DesignerCategoryAttribute", CodeGenHelper.Str("code"))); dataComponentClass.CustomAttributes.Add(CodeGenHelper.AttributeDecl("System.ComponentModel.ToolboxItem", CodeGenHelper.Primitive(true))); dataComponentClass.CustomAttributes.Add(CodeGenHelper.AttributeDecl("System.ComponentModel.DesignerAttribute", CodeGenHelper.Str(adapterDesigner + ", " + AssemblyRef.MicrosoftVSDesigner))); dataComponentClass.CustomAttributes.Add(CodeGenHelper.AttributeDecl(typeof(System.ComponentModel.Design.HelpKeywordAttribute).FullName, CodeGenHelper.Str(helpKeyword))); // Create and Init the TableAdapterManager Method Generator TableAdapterManagerMethodGenerator dcMethodGenerator = new TableAdapterManagerMethodGenerator(this.dataSourceGenerator, dataSource, dataSourceClass); // Generate methods dcMethodGenerator.AddEverything(dataComponentClass); // Make sure that what we added so far doesn't contain any code injection (for the queries we're going to add right // after this all user input is validated in DataComponentNameHandler, so we're safe there). try { System.CodeDom.Compiler.CodeGenerator.ValidateIdentifiers(dataComponentClass); } catch (Exception er) { Debug.Fail(er.ToString()); } return dataComponentClass; } } } // 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
- SplitterCancelEvent.cs
- Delegate.cs
- Crc32.cs
- odbcmetadatacollectionnames.cs
- SiteMapProvider.cs
- SqlDataSourceFilteringEventArgs.cs
- EditingCommands.cs
- FieldCollectionEditor.cs
- HttpResponseHeader.cs
- DynamicResourceExtensionConverter.cs
- Activator.cs
- XmlComplianceUtil.cs
- ClientSideProviderDescription.cs
- CodeDelegateCreateExpression.cs
- CommandSet.cs
- TerminateWorkflow.cs
- DataGridViewCellParsingEventArgs.cs
- ProtectedConfiguration.cs
- XmlSchemaSimpleType.cs
- LocationSectionRecord.cs
- Win32.cs
- SocketStream.cs
- GeneralTransform.cs
- TdsParserSessionPool.cs
- CharacterString.cs
- NullRuntimeConfig.cs
- EncoderFallback.cs
- AdapterDictionary.cs
- SchemaDeclBase.cs
- ServiceCredentialsElement.cs
- ZipFileInfoCollection.cs
- UidManager.cs
- TreeNodeMouseHoverEvent.cs
- ImageSource.cs
- SendMailErrorEventArgs.cs
- ByteBufferPool.cs
- Point3DCollectionConverter.cs
- mactripleDES.cs
- ChtmlTextBoxAdapter.cs
- XmlWellformedWriter.cs
- XmlStreamedByteStreamReader.cs
- SimpleWebHandlerParser.cs
- HwndSourceKeyboardInputSite.cs
- XmlSchemaImporter.cs
- ContextActivityUtils.cs
- GcSettings.cs
- CompilerScopeManager.cs
- ApplicationInfo.cs
- GenericXmlSecurityToken.cs
- HtmlInputCheckBox.cs
- InputEventArgs.cs
- CriticalHandle.cs
- Line.cs
- XsdCachingReader.cs
- COAUTHINFO.cs
- ImageMetadata.cs
- KnownColorTable.cs
- CompositeDataBoundControl.cs
- SequenceDesigner.cs
- DrawListViewItemEventArgs.cs
- DCSafeHandle.cs
- GlobalizationAssembly.cs
- XamlTemplateSerializer.cs
- SourceFileBuildProvider.cs
- FindCriteriaCD1.cs
- ISAPIApplicationHost.cs
- EndGetFileNameFromUserRequest.cs
- PathFigure.cs
- StaticSiteMapProvider.cs
- CopyNodeSetAction.cs
- processwaithandle.cs
- MasterPageBuildProvider.cs
- DragEvent.cs
- HttpListenerRequestUriBuilder.cs
- DataGridRowAutomationPeer.cs
- TimeZone.cs
- ContentPropertyAttribute.cs
- SharedPersonalizationStateInfo.cs
- TabPage.cs
- ObfuscationAttribute.cs
- HScrollProperties.cs
- WorkflowQueueInfo.cs
- SoapSchemaImporter.cs
- XmlWriterTraceListener.cs
- ServerType.cs
- HwndStylusInputProvider.cs
- ExtensionQuery.cs
- UshortList2.cs
- HttpDictionary.cs
- ExceptionRoutedEventArgs.cs
- RelativeSource.cs
- JsonReaderDelegator.cs
- ZipIOExtraFieldElement.cs
- LogicalExpr.cs
- SynchronizingStream.cs
- PhysicalFontFamily.cs
- DelegatingTypeDescriptionProvider.cs
- SkewTransform.cs
- CompilationRelaxations.cs
- GroupBox.cs