private static void GenerateAuditForSchema(string schema, StringBuilder sqlBuilder, AuditUpdateParameters updateParameters, Action <string, float?> reportProgress) { reportProgress(string.Format("Generating audit for schema {0}", schema), null); SchemaDataSet schemaDataSet = updateParameters.SchemaDataSet; SchemaDataSet.SchemaPrimaryKeysDataTable primaryKeysDataTable = schemaDataSet.SchemaPrimaryKeys; primaryKeysDataTable.FillPrimaryKeysBySchema(schema, updateParameters.AuditingDatabaseConnection); SchemaDataSet.SchemaTablesDataTable schemaTables = schemaDataSet.SchemaTables; var schemaTablesRows = schemaTables.AsEnumerable(); var schemaTablesQuery = from schemaTableRow in schemaTablesRows where schemaTableRow.TABLE_SCHEMA.Equals(schema) where schemaTableRow.TABLE_TYPE.Equals("BASE TABLE") orderby schemaTableRow.TABLE_NAME select schemaTableRow; foreach (SchemaDataSet.SchemaTablesRow schemaTablesRow in schemaTablesQuery) { string tableName = schemaTablesRow.TABLE_NAME; if (!updateParameters.TablesNotAudited.Cast <string>().Any(name => name.Equals(tableName, StringComparison.OrdinalIgnoreCase))) { GenerateTableAudit.GenerateAuditForTable(schema, tableName, primaryKeysDataTable, sqlBuilder, updateParameters, reportProgress); } } reportProgress(string.Format("Generated audit for schema {0}", schema), null); }
public static bool TableExists(this SchemaDataSet.SchemaTablesDataTable schemaTablesDataTable, string schema, string tableName) { return(schemaTablesDataTable.Any(row => row.TABLE_SCHEMA.Equals(schema, StringComparison.OrdinalIgnoreCase) && row.TABLE_NAME.Equals(tableName, StringComparison.OrdinalIgnoreCase) && row.TABLE_TYPE.Equals("BASE TABLE", StringComparison.Ordinal))); }