Пример #1
0
        private static ChangeDocumenterContext CreateChangeDocumenterContext(Context context, string patternFileNameOriginal, string patternFileNameNew)
        {
            var documenterSettings = Program.Configuration.GetSection("Documenter").Get <DocumenterSettings>();

            ITableCustomizer customizerOriginal = null;
            ITableCustomizer customizerNew      = null;

            if (patternFileNameOriginal != null)
            {
                customizerOriginal = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileNameOriginal, documenterSettings);
            }

            if (patternFileNameNew != null)
            {
                customizerNew = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileNameNew, documenterSettings);
            }

            customizerOriginal ??= new EmptyTableCustomizer();
            customizerNew ??= new EmptyTableCustomizer();

            var changeDocumenterContext = new ChangeDocumenterContext
            {
                DocumenterSettings = documenterSettings,
                Settings           = context.Settings,
                Logger             = context.Logger,
                CustomizerOriginal = customizerOriginal,
                CustomizerNew      = customizerNew
            };

            return(changeDocumenterContext);
        }
Пример #2
0
        private static GeneratorContext CreateGeneratorContext(Context context, string patternFileName)
        {
            var documenterSettings = Program.Configuration.GetSection("Documenter").Get <DocumenterSettings>();

            var generatorSetting = new GeneratorSettings {
                WorkingDirectory = documenterSettings.WorkingDirectory
            };

            ITableCustomizer customizer = null;

            if (patternFileName != null)
            {
                customizer = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileName, documenterSettings);
            }

            customizer ??= new EmptyTableCustomizer();

            var generatorContext = new GeneratorContext
            {
                GeneratorSettings = generatorSetting,
                Settings          = context.Settings,
                Logger            = context.Logger,
                Customizer        = customizer
            };

            return(generatorContext);
        }
Пример #3
0
        public void ShouldSkip()
        {
            // Pattern; PatternExcept; ShouldSkipIfMatch; CategoryIfMatch; BackGroundColorIfMatch

            const string patternContent = ";skip*;;;1;";

            var customizer = PatternMatchingTableCustomizerFromPatterns.FromString(patternContent);

            var schemaAndTableName1 = new SchemaAndTableName("dbo", "skipMe");
            var schemaAndTableName2 = new SchemaAndTableName("dbo", "dontSkipMe");

            var shouldSkip1 = customizer.ShouldSkip(schemaAndTableName1);
            var shouldSkip2 = customizer.ShouldSkip(schemaAndTableName2);

            Assert.IsTrue(shouldSkip1);
            Assert.IsFalse(shouldSkip2);
        }
Пример #4
0
        public void ShouldSkip2()
        {
            const string patternContent = "staging;;;;1";

            var customizer = PatternMatchingTableCustomizerFromPatterns.FromString(patternContent);

            var schemaAndTableName1 = new SchemaAndTableName("staging", "apple");
            var schemaAndTableName2 = new SchemaAndTableName("staging", "");
            var schemaAndTableName3 = new SchemaAndTableName("staging", null);

            var shouldSkip1 = customizer.ShouldSkip(schemaAndTableName1);
            var shouldSkip2 = customizer.ShouldSkip(schemaAndTableName2);
            var shouldSkip3 = customizer.ShouldSkip(schemaAndTableName3);

            Assert.IsTrue(shouldSkip1);
            Assert.IsTrue(shouldSkip2);
            Assert.IsTrue(shouldSkip3);
        }
Пример #5
0
        public void TableCustomizerFromCsv()
        {
            using (var file =
                       new StreamWriter("TestDatabaseFks.DbTools.Patterns.csv"))
            {
                file.WriteLine("PatternSchema;PatternTableName;PatternExceptSchema;PatternExceptTableName;ShouldSkipIfMatch;CategoryIfMatch;BackGroundColorIfMatch");
                file.WriteLine(";Parent;;;0;Parent;606060");
                file.WriteLine(";Child;;;1");
                file.WriteLine(";*ildC*;;;0;TestCategory");
            }

            var db = new TestDatabaseFks();

            db.SetVersions(GenericVersion.Generic1.GetTypeMapper());
            var patternMatching = PatternMatchingTableCustomizerFromPatterns.FromCsv("TestDatabaseFks", null);
            var documenter      = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(GenericVersion.Generic1, patternMatching), GenericVersion.Generic1, "TestDatabaseFks");

            documenter.Document(db);
        }
Пример #6
0
        private static DocumenterContext CreateDocumenterContext(Context context, string patternFileName)
        {
            var documenterSettings = Program.Configuration.GetSection("Documenter").Get <DocumenterSettings>();

            ITableCustomizer customizer = null;

            if (patternFileName != null)
            {
                customizer = PatternMatchingTableCustomizerFromPatterns.FromCsv(patternFileName, documenterSettings);
            }

            customizer ??= new EmptyTableCustomizer();

            var documenterContext = new DocumenterContext
            {
                DocumenterSettings = documenterSettings,
                Settings           = context.Settings,
                Logger             = context.Logger,
                Customizer         = customizer
            };

            return(documenterContext);
        }