Exemple #1
0
        private CodeMemberProperty IndexProperty(DesignTable designTable)
        {
            string             generatorRowClassName = designTable.GeneratorRowClassName;
            CodeMemberProperty property = CodeGenHelper.PropertyDecl(CodeGenHelper.Type(generatorRowClassName), "Item", MemberAttributes.Public | MemberAttributes.Final);

            property.Parameters.Add(CodeGenHelper.ParameterDecl(CodeGenHelper.GlobalType(typeof(int)), "index"));
            property.GetStatements.Add(CodeGenHelper.Return(CodeGenHelper.Cast(CodeGenHelper.Type(generatorRowClassName), CodeGenHelper.Indexer(CodeGenHelper.Property(CodeGenHelper.This(), "Rows"), CodeGenHelper.Argument("index")))));
            return(property);
        }
 internal DataComponentMethodGenerator(TypedDataSourceCodeGenerator codeGenerator, DesignTable designTable, bool generateHierarchicalUpdate)
 {
     this.generateHierarchicalUpdate = generateHierarchicalUpdate;
     this.codeGenerator = codeGenerator;
     this.designTable   = designTable;
     if (designTable.Connection != null)
     {
         this.providerFactory = ProviderManager.GetFactory(designTable.Connection.Provider);
     }
 }
Exemple #3
0
        internal void AddTypedRowEvents(CodeTypeDeclaration dataTableClass, string tableName)
        {
            DesignTable table = this.codeGenerator.TableHandler.Tables[tableName];
            string      generatorRowClassName     = table.GeneratorRowClassName;
            string      generatorRowEvHandlerName = table.GeneratorRowEvHandlerName;

            dataTableClass.Members.Add(CodeGenHelper.EventDecl(generatorRowEvHandlerName, table.GeneratorRowChangingName));
            dataTableClass.Members.Add(CodeGenHelper.EventDecl(generatorRowEvHandlerName, table.GeneratorRowChangedName));
            dataTableClass.Members.Add(CodeGenHelper.EventDecl(generatorRowEvHandlerName, table.GeneratorRowDeletingName));
            dataTableClass.Members.Add(CodeGenHelper.EventDecl(generatorRowEvHandlerName, table.GeneratorRowDeletedName));
        }
 private bool TableContainsExpressions(DesignTable designTable)
 {
     foreach (DataColumn column in designTable.DataTable.Columns)
     {
         if (column.Expression.Length > 0)
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #5
0
 internal void ProcessClassName(DesignTable table)
 {
     if (!StringUtil.EqualValue(table.DataAccessorName, table.UserDataComponentName, this.languageCaseInsensitive) || StringUtil.Empty(table.GeneratorDataComponentClassName))
     {
         table.GeneratorDataComponentClassName = this.validator.GenerateIdName(table.DataAccessorName);
     }
     else
     {
         table.GeneratorDataComponentClassName = this.validator.GenerateIdName(table.GeneratorDataComponentClassName);
     }
 }
Exemple #6
0
        protected override void OnRemove(int index, object value)
        {
            base.OnRemove(index, value);
            DesignTable table = (DesignTable)value;

            System.Data.DataSet dataSet = this.DataSet;
            if (((dataSet != null) && (table.DataTable != null)) && dataSet.Tables.Contains(table.DataTable.TableName))
            {
                dataSet.Tables.Remove(table.DataTable);
            }
            table.Owner = null;
        }
Exemple #7
0
 public DesignColumnCollection(DesignTable designTable) : base(designTable)
 {
     this.designTable = designTable;
     if ((designTable != null) && (designTable.DataTable != null))
     {
         foreach (DataColumn column in designTable.DataTable.Columns)
         {
             this.Add(new DesignColumn(column));
         }
     }
     this.table = designTable;
 }
Exemple #8
0
 private void ProcessMemberNames(DesignTable designTable)
 {
     this.ProcessClassName(designTable);
     if (!this.GlobalSources && (designTable.MainSource != null))
     {
         this.ProcessSourceName((DbSource)designTable.MainSource);
     }
     if (designTable.Sources != null)
     {
         foreach (Source source in designTable.Sources)
         {
             this.ProcessSourceName((DbSource)source);
         }
     }
 }
        public void SetDesignTableContent(string designTableContent)
        {
            DesignDataSource source     = new DesignDataSource();
            StringReader     textReader = new StringReader(designTableContent);

            source.ReadXmlSchema(textReader, null);
            if ((source.DesignTables == null) || (source.DesignTables.Count != 1))
            {
                throw new InternalException("Unexpected number of sources in deserialized DataSource.");
            }
            IEnumerator enumerator = source.DesignTables.GetEnumerator();

            enumerator.MoveNext();
            this.designTable = (DesignTable)enumerator.Current;
        }
Exemple #10
0
        public frmShowCars(string st)
        {
            str = st;
            InitializeComponent();
            ColorsTable curentColor = new ColorsTable();

            Suport.FillCombox(cmbColor, curentColor.GetTable(), "nameColor", "coudeColor");


            //Suport.FillCombox(cmbPlace , curentp .FillConbo(), "numParking", "coudParking");

            DesignTable curentd = new DesignTable();

            Suport.FillCombox(cmbDesign, curentd.GetTable(), "nameDesign", "coudDesign");

            BranchTable curentb = new BranchTable();

            Suport.FillCombox(cmbBranch, curentb.GetTable(), "branchName", "branchCoude");

            if (st == "add")
            {
                lblAddCar.Visible  = true;
                lblMessage.Visible = false;
                btnAdd.Visible     = true;

                label9.Visible         = false;
                txtNumForSerch.Visible = false;
                btnSearch.Visible      = false;
            }
            if (st == "update")
            {
                lblAddCar.Visible  = false;
                lblMessage.Visible = true;
                btnUpdate.Visible  = true;
                pcbPicture.Visible = true;
                pcbPicture.Visible = true;
            }
            if (st == "del")
            {
                lblAddCar.Visible  = false;
                lblMessage.Visible = true;

                btnDel.Visible = true;


                pcbPicture.Visible = true;
            }
        }
Exemple #11
0
        private void ClearChanged()
        {
            Schema.Changed = false;
            Schema.Tables.ForEach(t =>
            {
                t.Changed = false;
                var last  = t.Columns.Last();

                if (!last.IsEmpty())
                {
                    t.Columns.Add(new DesignColumn {
                    });
                }
            });

            SelectedTable = null;
        }
Exemple #12
0
        private DesignRelation FindCorrespondingDesignRelation(DesignTable designTable, DataRelation relation)
        {
            DesignDataSource owner = designTable.Owner;

            if (owner == null)
            {
                throw new InternalException("Unable to find DataSource for table.");
            }
            foreach (DesignRelation relation2 in owner.DesignRelations)
            {
                if (((relation2.DataRelation != null) && StringUtil.EqualValue(relation2.DataRelation.ChildTable.TableName, relation.ChildTable.TableName)) && (StringUtil.EqualValue(relation2.DataRelation.ParentTable.TableName, relation.ParentTable.TableName) && StringUtil.EqualValue(relation2.Name, relation.RelationName)))
                {
                    return(relation2);
                }
            }
            return(null);
        }
Exemple #13
0
        //public void LoadSchema()
        //{
        //}

        public void NewSchema()
        {
            Schema = new DesignSchema {
                Name = "New Schema", Version = "1.0", DataContextName = Parameters.DataService, Namespace = Parameters.Namespace, Changed = true, IsNew = true
            };
            SchemaMigrations = new DesignSchemaMigrations();
            var nm = new StoreMigration {
                Version = DesignSchemaMigrations.InitialVersion, Created = DateTime.UtcNow, VersionKey = Guid.NewGuid()
            };

            //SchemaMigrations.Migrations.Add(new DesignMigration { StatusText = "Empty", VersionText = "Initial 1.0" });
            SchemaMigrations.Migrations.Add(new DesignMigration(nm));
            SelectedTable = null;
            ClearLog();
            UpdateLog(DesignOperation.CreateSchema);

            UpdateDiagramTables();
        }
Exemple #14
0
        internal ArrayList GetRelatedRelations(ICollection tableList)
        {
            ArrayList list = new ArrayList();

            foreach (DesignRelation relation in this.DesignRelations)
            {
                DesignTable parentDesignTable = relation.ParentDesignTable;
                DesignTable childDesignTable  = relation.ChildDesignTable;
                foreach (object obj2 in tableList)
                {
                    if ((parentDesignTable == obj2) || (childDesignTable == obj2))
                    {
                        list.Add(relation);
                        break;
                    }
                }
            }
            return(list);
        }
        private CodeTypeDelegate GenerateTypedRowEventHandler(DesignTable table)
        {
            CodeTypeDelegate delegate2;

            if (table == null)
            {
                throw new InternalException("DesignTable should not be null.");
            }
            string generatorRowClassName = table.GeneratorRowClassName;

            delegate2 = new CodeTypeDelegate(table.GeneratorRowEvHandlerName)
            {
                TypeAttributes = delegate2.TypeAttributes | TypeAttributes.Public
            };
            delegate2.Parameters.Add(CodeGenHelper.ParameterDecl(CodeGenHelper.GlobalType(typeof(object)), "sender"));
            delegate2.Parameters.Add(CodeGenHelper.ParameterDecl(CodeGenHelper.Type(table.GeneratorRowEvArgName), "e"));
            delegate2.CustomAttributes.Add(CodeGenHelper.GeneratedCodeAttributeDecl());
            return(delegate2);
        }
        private CodeTypeDeclaration GenerateRow(DesignTable table)
        {
            if (table == null)
            {
                throw new InternalException("DesignTable should not be null.");
            }
            string              generatorRowClassName   = table.GeneratorRowClassName;
            string              generatorTableClassName = table.GeneratorTableClassName;
            string              generatorTableVarName   = table.GeneratorTableVarName;
            TypedColumnHandler  columnHandler           = this.codeGenerator.TableHandler.GetColumnHandler(table.Name);
            CodeTypeDeclaration rowClass = CodeGenHelper.Class(generatorRowClassName, true, TypeAttributes.Public);

            rowClass.BaseTypes.Add(CodeGenHelper.GlobalType(typeof(DataRow)));
            rowClass.Comments.Add(CodeGenHelper.Comment("Represents strongly named DataRow class.", true));
            rowClass.Members.Add(CodeGenHelper.FieldDecl(CodeGenHelper.Type(generatorTableClassName), generatorTableVarName));
            rowClass.Members.Add(this.RowConstructor(generatorTableClassName, generatorTableVarName));
            columnHandler.AddRowColumnProperties(rowClass);
            columnHandler.AddRowGetRelatedRowsMethods(rowClass);
            return(rowClass);
        }
Exemple #17
0
        protected override void OnInsert(int index, object value)
        {
            base.OnInsert(index, value);
            DesignTable table = (DesignTable)value;

            if ((table.Name == null) || (table.Name.Length == 0))
            {
                table.Name = this.CreateUniqueName(table);
            }
            this.NameService.ValidateUniqueName(this, table.Name);
            if ((this.dataSource == null) || (table.Owner != this.dataSource))
            {
                if ((this.dataSource != null) && (table.Owner != null))
                {
                    throw new InternalException("This table belongs to another DataSource already", 0x4e22);
                }
                System.Data.DataSet dataSet = this.DataSet;
                if ((dataSet != null) && !dataSet.Tables.Contains(table.DataTable.TableName))
                {
                    dataSet.Tables.Add(table.DataTable);
                }
                table.Owner = this.dataSource;
            }
        }
        internal void GenerateDataSource(DesignDataSource dtDataSource, CodeCompileUnit codeCompileUnit, CodeNamespace mainNamespace, string dataSetNamespace, System.Data.Design.TypedDataSetGenerator.GenerateOption generateOption)
        {
            this.designDataSource = dtDataSource;
            this.generateOption   = generateOption;
            this.dataSetNamespace = dataSetNamespace;
            bool generateHierarchicalUpdate = ((generateOption & System.Data.Design.TypedDataSetGenerator.GenerateOption.HierarchicalUpdate) == System.Data.Design.TypedDataSetGenerator.GenerateOption.HierarchicalUpdate) && dtDataSource.EnableTableAdapterManager;

            this.AddUserData(codeCompileUnit);
            CodeTypeDeclaration declaration = this.CreateDataSourceDeclaration(dtDataSource);

            mainNamespace.Types.Add(declaration);
            bool          flag2      = CodeGenHelper.SupportsMultipleNamespaces(this.codeProvider);
            CodeNamespace namespace2 = null;

            if (!this.GenerateSingleNamespace && flag2)
            {
                string name = this.CreateAdaptersNamespace(dtDataSource.GeneratorDataSetName);
                if (!StringUtil.Empty(mainNamespace.Name))
                {
                    name = mainNamespace.Name + "." + name;
                }
                namespace2 = new CodeNamespace(name);
            }
            DataComponentGenerator generator = new DataComponentGenerator(this);
            bool flag3 = false;

            foreach (DesignTable table in dtDataSource.DesignTables)
            {
                if (table.TableType == TableType.RadTable)
                {
                    flag3 = true;
                    table.PropertyCache = new DesignTable.CodeGenPropertyCache(table);
                    CodeTypeDeclaration declaration2 = generator.GenerateDataComponent(table, false, generateHierarchicalUpdate);
                    if (this.GenerateSingleNamespace)
                    {
                        mainNamespace.Types.Add(declaration2);
                    }
                    else if (flag2)
                    {
                        namespace2.Types.Add(declaration2);
                    }
                    else
                    {
                        declaration2.Name = declaration.Name + declaration2.Name;
                        mainNamespace.Types.Add(declaration2);
                    }
                }
            }
            generateHierarchicalUpdate = generateHierarchicalUpdate && flag3;
            if ((dtDataSource.Sources != null) && (dtDataSource.Sources.Count > 0))
            {
                DesignTable designTable = new DesignTable {
                    TableType  = TableType.RadTable,
                    MainSource = null,
                    GeneratorDataComponentClassName = dtDataSource.GeneratorFunctionsComponentClassName
                };
                foreach (Source source in dtDataSource.Sources)
                {
                    designTable.Sources.Add(source);
                }
                CodeTypeDeclaration declaration3 = generator.GenerateDataComponent(designTable, true, generateHierarchicalUpdate);
                if (this.GenerateSingleNamespace)
                {
                    mainNamespace.Types.Add(declaration3);
                }
                else if (flag2)
                {
                    namespace2.Types.Add(declaration3);
                }
                else
                {
                    declaration3.Name = declaration.Name + declaration3.Name;
                    mainNamespace.Types.Add(declaration3);
                }
            }
            if ((namespace2 != null) && (namespace2.Types.Count > 0))
            {
                codeCompileUnit.Namespaces.Add(namespace2);
            }
            if (generateHierarchicalUpdate)
            {
                CodeTypeDeclaration declaration4 = new TableAdapterManagerGenerator(this).GenerateAdapterManager(this.designDataSource, declaration);
                if (this.GenerateSingleNamespace)
                {
                    mainNamespace.Types.Add(declaration4);
                }
                else if (flag2)
                {
                    namespace2.Types.Add(declaration4);
                }
                else
                {
                    declaration4.Name = declaration.Name + declaration4.Name;
                    mainNamespace.Types.Add(declaration4);
                }
            }
        }
Exemple #19
0
        internal void ProcessEventNames(DesignTable designTable)
        {
            bool   flag  = false;
            bool   flag2 = !StringUtil.EqualValue(designTable.Name, designTable.UserTableName, this.languageCaseInsensitive);
            string name  = designTable.GeneratorRowClassName + "Changing";

            if (flag2 || StringUtil.Empty(designTable.GeneratorRowChangingName))
            {
                designTable.GeneratorRowChangingName = this.validator.GenerateIdName(name);
            }
            else
            {
                designTable.GeneratorRowChangingName = this.validator.GenerateIdName(designTable.GeneratorRowChangingName);
            }
            if (!StringUtil.EqualValue(this.validator.GenerateIdName(name), designTable.GeneratorRowChangingName))
            {
                designTable.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWCHANGINGNAME);
                flag = true;
            }
            string str2 = designTable.GeneratorRowClassName + "Changed";

            if (flag2 || StringUtil.Empty(designTable.GeneratorRowChangedName))
            {
                designTable.GeneratorRowChangedName = this.validator.GenerateIdName(str2);
            }
            else
            {
                designTable.GeneratorRowChangedName = this.validator.GenerateIdName(designTable.GeneratorRowChangedName);
            }
            if (!StringUtil.EqualValue(this.validator.GenerateIdName(str2), designTable.GeneratorRowChangedName))
            {
                designTable.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWCHANGEDNAME);
                flag = true;
            }
            string str3 = designTable.GeneratorRowClassName + "Deleting";

            if (flag2 || StringUtil.Empty(designTable.GeneratorRowDeletingName))
            {
                designTable.GeneratorRowDeletingName = this.validator.GenerateIdName(str3);
            }
            else
            {
                designTable.GeneratorRowDeletingName = this.validator.GenerateIdName(designTable.GeneratorRowDeletingName);
            }
            if (!StringUtil.EqualValue(this.validator.GenerateIdName(str3), designTable.GeneratorRowDeletingName))
            {
                designTable.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWDELETINGNAME);
                flag = true;
            }
            string str4 = designTable.GeneratorRowClassName + "Deleted";

            if (flag2 || StringUtil.Empty(designTable.GeneratorRowDeletedName))
            {
                designTable.GeneratorRowDeletedName = this.validator.GenerateIdName(str4);
            }
            else
            {
                designTable.GeneratorRowDeletedName = this.validator.GenerateIdName(designTable.GeneratorRowDeletedName);
            }
            if (!StringUtil.EqualValue(this.validator.GenerateIdName(str4), designTable.GeneratorRowDeletedName))
            {
                designTable.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWDELETEDNAME);
                flag = true;
            }
            if (flag && !designTable.NamingPropertyNames.Contains(DesignTable.EXTPROPNAME_USER_TABLENAME))
            {
                designTable.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_USER_TABLENAME);
            }
        }
Exemple #20
0
        /// <summary>
        /// Keeps log that allows to record migrations and undo/redo
        /// </summary>
        /// <param name="operation"></param>
        /// <param name="table"></param>
        /// <param name="column"></param>
        public void UpdateLog(DesignOperation op, DesignTable table = null, DesignColumn column = null, string newName = null)
        {
            if (SchemaMigrations.Migrations.Any())
            {
                var last = SchemaMigrations.Migrations.Last();
                last.Migration.Status = MigrationStatus.Editing;
            }

            if (table?.IsNew == false && _changeOperations.Contains(op))
            {
                _designRecords.Add(
                    new DesignLogRecord
                {
                    Operation  = DesignOperation.ExistingTableChanged,
                    TableName  = table?.Name,
                    TableId    = table?.Id,
                    ColumnName = column?.Name,
                    ColumnId   = column?.Id,
                });
            }

            var    operation = op;
            string old       = null;
            string newValue  = null;

            switch (operation)
            {
            case DesignOperation.SetSchemaName:
                newValue = newName;
                old      = Schema.Name;
                break;

            case DesignOperation.SetTableName:
                newValue = table.Name;
                old      = FindClone <DesignTable>(table.Id)?.Name;
                break;

            case DesignOperation.SetColumnName:
                newValue = column.Name;
                old      = FindClone <DesignColumn>(column.Id)?.Name;
                break;

            case DesignOperation.SetColumnNullable:
                newValue = column.Nullable.ToString();
                old      = FindClone <DesignColumn>(column.Id)?.Nullable.ToString();
                break;

            case DesignOperation.SetColumnType:
                newValue = column.Type;
                old      = FindClone <DesignColumn>(column.Id)?.Type;
                break;

            case DesignOperation.SetColumnReference:
                newValue = column.Reference;
                old      = FindClone <DesignColumn>(column.Id)?.Reference;
                break;
            }

            if (op == DesignOperation.SetColumnName)
            {
                if (string.IsNullOrWhiteSpace(old))
                {
                    operation = DesignOperation.AddColumn;
                }
                else
                {
                    operation = DesignOperation.SetColumnName;
                }
            }
            else if ((op == DesignOperation.SetColumnNullable || op == DesignOperation.SetColumnType || op == DesignOperation.SetColumnReference) &&
                     FindClone <DesignColumn>(column.Id) == null)
            {
                operation = DesignOperation.AddColumn;
            }

            _designRecords.Add(
                new DesignLogRecord
            {
                Operation = operation, TableName = table?.Name, TableId = table?.Id, ColumnName = column?.Name, ColumnId = column?.Id,
                OldValue  = old, NewValue = newValue, OldColumn = column?.GetCopy() as DesignColumn
            });

            // save clones
            if (table != null)
            {
                _objectClones[table.Id] = table.GetCopy(table.Id);
            }

            if (column != null)
            {
                _objectClones[column.Id] = column.GetCopy(column.Id);
            }
        }
Exemple #21
0
 public void Remove(DesignTable table)
 {
     base.List.Remove(table);
 }
Exemple #22
0
 public void SelectTable(DesignTable table)
 {
     SelectedTable = table;
     _tableController.Load(Schema, SelectedTable);
     _tableController.Update();
 }
Exemple #23
0
 public int IndexOf(DesignTable table)
 {
     return(base.List.IndexOf(table));
 }
Exemple #24
0
 public bool Contains(DesignTable table)
 {
     return(base.List.Contains(table));
 }
Exemple #25
0
 public void Add(DesignTable designTable)
 {
     base.List.Add(designTable);
 }
Exemple #26
0
 internal QueryHandler(TypedDataSourceCodeGenerator codeGenerator, DesignTable designTable)
 {
     this.codeGenerator             = codeGenerator;
     this.designTable               = designTable;
     this.languageSupportsNullables = this.codeGenerator.CodeProvider.Supports(GeneratorSupport.GenericTypeReference);
 }
Exemple #27
0
        internal void ProcessTableRelatedNames(DesignTable table)
        {
            bool   usesAnnotations = false;
            bool   flag2           = false;
            bool   flag3           = !StringUtil.EqualValue(table.Name, table.UserTableName, this.languageCaseInsensitive);
            string name            = this.TablePropertyName(table.DataTable, out usesAnnotations);
            string str2            = this.PlainTablePropertyName(table.DataTable, out usesAnnotations);

            if (usesAnnotations)
            {
                table.GeneratorTablePropName = str2;
            }
            else
            {
                if (flag3 || StringUtil.Empty(table.GeneratorTablePropName))
                {
                    table.GeneratorTablePropName = this.validator.GenerateIdName(name);
                }
                else
                {
                    table.GeneratorTablePropName = this.validator.GenerateIdName(table.GeneratorTablePropName);
                }
                if (!StringUtil.EqualValue(this.validator.GenerateIdName(name), table.GeneratorTablePropName))
                {
                    table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_TABLEPROPNAME);
                    flag2 = true;
                }
            }
            string str3 = this.TableVariableName(table.DataTable, out usesAnnotations);
            string str4 = this.PlainTableVariableName(table.DataTable, out usesAnnotations);

            if (usesAnnotations)
            {
                table.GeneratorTableVarName = str4;
            }
            else
            {
                if (flag3 || StringUtil.Empty(table.GeneratorTableVarName))
                {
                    table.GeneratorTableVarName = this.validator.GenerateIdName(str3);
                }
                else
                {
                    table.GeneratorTableVarName = this.validator.GenerateIdName(table.GeneratorTableVarName);
                }
                if (!StringUtil.EqualValue(this.validator.GenerateIdName(str3), table.GeneratorTableVarName))
                {
                    table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_TABLEVARNAME);
                    flag2 = true;
                }
            }
            string str5 = this.TableClassName(table.DataTable, out usesAnnotations);
            string str6 = this.PlainTableClassName(table.DataTable, out usesAnnotations);

            if (usesAnnotations)
            {
                table.GeneratorTableClassName = str6;
            }
            else
            {
                if (flag3 || StringUtil.Empty(table.GeneratorTableClassName))
                {
                    table.GeneratorTableClassName = this.validator.GenerateIdName(str5);
                }
                else
                {
                    table.GeneratorTableClassName = this.validator.GenerateIdName(table.GeneratorTableClassName);
                }
                if (!StringUtil.EqualValue(this.validator.GenerateIdName(str5), table.GeneratorTableClassName))
                {
                    table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_TABLECLASSNAME);
                    flag2 = true;
                }
            }
            string str7 = this.RowClassName(table.DataTable, out usesAnnotations);
            string str8 = this.PlainRowClassName(table.DataTable, out usesAnnotations);

            if (usesAnnotations)
            {
                table.GeneratorRowClassName = str8;
            }
            else
            {
                if (flag3 || StringUtil.Empty(table.GeneratorRowClassName))
                {
                    table.GeneratorRowClassName = this.validator.GenerateIdName(str7);
                }
                else
                {
                    table.GeneratorRowClassName = this.validator.GenerateIdName(table.GeneratorRowClassName);
                }
                if (!StringUtil.EqualValue(this.validator.GenerateIdName(str7), table.GeneratorRowClassName))
                {
                    table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWCLASSNAME);
                    flag2 = true;
                }
            }
            string str9  = this.RowEventHandlerName(table.DataTable, out usesAnnotations);
            string str10 = this.PlainRowEventHandlerName(table.DataTable, out usesAnnotations);

            if (usesAnnotations)
            {
                table.GeneratorRowEvHandlerName = str10;
            }
            else
            {
                if (flag3 || StringUtil.Empty(table.GeneratorRowEvHandlerName))
                {
                    table.GeneratorRowEvHandlerName = this.validator.GenerateIdName(str9);
                }
                else
                {
                    table.GeneratorRowEvHandlerName = this.validator.GenerateIdName(table.GeneratorRowEvHandlerName);
                }
                if (!StringUtil.EqualValue(this.validator.GenerateIdName(str9), table.GeneratorRowEvHandlerName))
                {
                    table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWEVHANDLERNAME);
                    flag2 = true;
                }
            }
            string str11 = this.RowEventArgClassName(table.DataTable, out usesAnnotations);
            string str12 = this.PlainRowEventArgClassName(table.DataTable, out usesAnnotations);

            if (usesAnnotations)
            {
                table.GeneratorRowEvArgName = str12;
            }
            else
            {
                if (flag3 || StringUtil.Empty(table.GeneratorRowEvArgName))
                {
                    table.GeneratorRowEvArgName = this.validator.GenerateIdName(str11);
                }
                else
                {
                    table.GeneratorRowEvArgName = this.validator.GenerateIdName(table.GeneratorRowEvArgName);
                }
                if (!StringUtil.EqualValue(this.validator.GenerateIdName(str11), table.GeneratorRowEvArgName))
                {
                    table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_GENERATOR_ROWEVARGNAME);
                    flag2 = true;
                }
            }
            if (flag2)
            {
                table.NamingPropertyNames.Add(DesignTable.EXTPROPNAME_USER_TABLENAME);
            }
        }
 internal TableMethodGenerator(TypedDataSourceCodeGenerator codeGenerator, DesignTable designTable)
 {
     this.codeGenerator = codeGenerator;
     this.designTable   = designTable;
 }