Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / System / data / design / TypedTableHandler.cs / 2 / TypedTableHandler.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.ComponentModel; using System.Data; internal sealed class TypedTableHandler { private TypedDataSourceCodeGenerator codeGenerator = null; private TypedTableGenerator tableGenerator = null; private DesignTableCollection tables = null; private Hashtable columnHandlers = null; internal TypedTableHandler(TypedDataSourceCodeGenerator codeGenerator, DesignTableCollection tables) { this.codeGenerator = codeGenerator; this.tables = tables; tableGenerator = new TypedTableGenerator(codeGenerator); SetColumnHandlers(); } internal DesignTableCollection Tables { get { return tables; } } internal TypedColumnHandler GetColumnHandler(string tableName) { if( tableName == null ) { return null; } return (TypedColumnHandler) columnHandlers[tableName]; } internal void AddPrivateVars(CodeTypeDeclaration dataSourceClass) { if( tables == null ) { return; } foreach(DesignTable table in tables) { string tableClassName = table.GeneratorTableClassName; string tableVariableName = table.GeneratorTableVarName; //\\ private; dataSourceClass.Members.Add( CodeGenHelper.FieldDecl(CodeGenHelper.Type(tableClassName), tableVariableName) ); } } internal void AddTableProperties(CodeTypeDeclaration dataSourceClass) { if( tables == null ) { return; } foreach(DesignTable table in tables) { // get class/property/variable names string tableClassName = table.GeneratorTableClassName; string tablePropertyName = table.GeneratorTablePropName; string tableVariableName = table.GeneratorTableVarName; // generate 1 public property for each typed table //\\ [System.ComponentModel.Browsable(false)] //\\ [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)] //\\ public { //\\ get { //\\ return this. ; //\\ } //\\ } CodeMemberProperty tableProperty = CodeGenHelper.PropertyDecl( CodeGenHelper.Type(tableClassName), tablePropertyName, MemberAttributes.Public | MemberAttributes.Final ); tableProperty.CustomAttributes.Add( CodeGenHelper.AttributeDecl("System.ComponentModel.Browsable", CodeGenHelper.Primitive(false))); tableProperty.CustomAttributes.Add( CodeGenHelper.AttributeDecl("System.ComponentModel.DesignerSerializationVisibility", CodeGenHelper.Field(CodeGenHelper.GlobalTypeExpr(typeof(System.ComponentModel.DesignerSerializationVisibility)), "Content")) ); tableProperty.GetStatements.Add( CodeGenHelper.Return( CodeGenHelper.Field( CodeGenHelper.This(), tableVariableName))); dataSourceClass.Members.Add(tableProperty); } } internal void AddTableClasses(CodeTypeDeclaration dataSourceClass) { tableGenerator.GenerateTables(dataSourceClass); } private void SetColumnHandlers() { this.columnHandlers = new Hashtable(); foreach(DesignTable table in tables) { columnHandlers.Add(table.Name, new TypedColumnHandler(table, codeGenerator)); } } } } // 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
- TreeChangeInfo.cs
- SortQuery.cs
- Tokenizer.cs
- ScriptResourceInfo.cs
- RC2.cs
- IdentitySection.cs
- TablePattern.cs
- SqlDataSourceQueryEditor.cs
- Stack.cs
- SiteMapNodeItem.cs
- DataReceivedEventArgs.cs
- Rotation3D.cs
- BindingValueChangedEventArgs.cs
- ProtocolsConfiguration.cs
- FormViewDeleteEventArgs.cs
- EntityContainerEmitter.cs
- Int32Animation.cs
- BinaryFormatter.cs
- SmtpDigestAuthenticationModule.cs
- oledbmetadatacolumnnames.cs
- HebrewCalendar.cs
- Point3DCollection.cs
- StickyNoteHelper.cs
- SqlDataSourceEnumerator.cs
- XmlQuerySequence.cs
- HttpDictionary.cs
- ProcessModuleCollection.cs
- Evidence.cs
- UpdateTranslator.cs
- EventEntry.cs
- DescendantBaseQuery.cs
- TargetControlTypeAttribute.cs
- DescriptionAttribute.cs
- WindowClosedEventArgs.cs
- SecurityHelper.cs
- BamlLocalizableResource.cs
- TransformerTypeCollection.cs
- SerializationAttributes.cs
- TabControl.cs
- DefaultParameterValueAttribute.cs
- ContentHostHelper.cs
- Parsers.cs
- ProviderException.cs
- VersionedStreamOwner.cs
- ProviderCommandInfoUtils.cs
- IndexedString.cs
- FilteredAttributeCollection.cs
- BooleanToVisibilityConverter.cs
- CollectionBuilder.cs
- GlobalItem.cs
- AesManaged.cs
- NetSectionGroup.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- SmiTypedGetterSetter.cs
- ProgressChangedEventArgs.cs
- MexBindingBindingCollectionElement.cs
- HwndHost.cs
- PersonalizationStateInfo.cs
- Knowncolors.cs
- LabelInfo.cs
- PowerStatus.cs
- DefaultTextStoreTextComposition.cs
- TransformationRules.cs
- TypeBuilder.cs
- TextProviderWrapper.cs
- TemplateControl.cs
- TemplateKeyConverter.cs
- PLINQETWProvider.cs
- PolyQuadraticBezierSegment.cs
- SQLDouble.cs
- InstanceDataCollection.cs
- HybridWebProxyFinder.cs
- ColorContextHelper.cs
- BindingContext.cs
- ChangePasswordDesigner.cs
- ResourcePart.cs
- MetadataSerializer.cs
- PageAction.cs
- ComponentEvent.cs
- MonitoringDescriptionAttribute.cs
- EditorPartChrome.cs
- ExtendedPropertyInfo.cs
- ImageDesigner.cs
- WorkerRequest.cs
- WebPartConnectionsDisconnectVerb.cs
- ToolStrip.cs
- FatalException.cs
- AnimationClockResource.cs
- SpanIndex.cs
- BaseUriHelper.cs
- WebHttpBindingElement.cs
- AnnotationAdorner.cs
- ToolboxItemCollection.cs
- SmtpDigestAuthenticationModule.cs
- DetailsViewInsertEventArgs.cs
- Bold.cs
- ParserStreamGeometryContext.cs
- ValidatingPropertiesEventArgs.cs
- SmiMetaDataProperty.cs
- Soap.cs