Пример #1
0
 private void GenerateTablesCommandExecute()
 {
     if (ImportTablesEvent != null)
     {
         var connectionString = CreateConnectionString();
         var selectedTables = Tables.Where(t => t.IsSelected).Select(t => t.TableDefinition).ToList();
         var argument = new ImportTablesEventArgs(selectedTables, connectionString);
         ImportTablesEvent(this, argument);
     }
 }
Пример #2
0
        private async void ImportTablesEventCallback(object sender, ImportTablesEventArgs args)
        {
            var tableDefinitions = args.TableDefinitions;
            var connectionString = args.ConnectionString;
            var project = GetSelectedProject();

            // 1. Modify appveyor configuration to automatically create a release : contains the ORM dll & VSIX extension.

            await _modelFirstApproachGenerator.Execute(project, tableDefinitions);

            // Install the nuget package
            InstallNugetPackage(project, "SimpleOrm");

            // Modify the configuration file
            await _manipulateConfigurationFile.AddConnectionString(project, connectionString);
        }
        private void GenerateEntities(ImportTablesEventArgs args, SampleOrmModel ormModel)
        {
            using (var transaction = ormModel.Store.TransactionManager.BeginTransaction())
            {
                foreach (var tableDefinition in args.TableDefinitions)
                {
                    var entityElement = new EntityElement(ormModel.Store, null)
                    {
                        Name = tableDefinition.TableName,
                        TableName = tableDefinition.TableName
                    };

                    foreach (var columnDefinition in tableDefinition.ColumnDefinitions)
                    {
                        var property = new Property(ormModel.Store, null)
                        {
                            ColumnName = columnDefinition.ColumnName,
                            Name = columnDefinition.ColumnName,
                            Type = TypeCode.String
                        };

                        entityElement.Properties.Add(property);
                    }

                    ormModel.Elements.Add(entityElement);
                }

                transaction.Commit();
            }
        }