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); } }
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(); } }