static void Compile(Options options) { if (string.IsNullOrEmpty(options.SourceFile)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "SourceFile", -1); } if (string.IsNullOrEmpty(options.ProjectFile)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "ProjectFile", -1); } var augmentor = new SqlPublicationDacpacAugmentor(); var compiler = new SqlPublicationCompiler(); augmentor.Augment(options.SourceFile, compiler.Compile(options.ProjectFile, options.SourceFile)); }
static void Extract(Options options) { if (string.IsNullOrEmpty(options.SourceServerName)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "SourceServerName", -1); } if (string.IsNullOrEmpty(options.SourceDatabaseName)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "SourceDatabaseName", -1); } if (string.IsNullOrEmpty(options.SourceUser)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "SourceUser", -1); } if (string.IsNullOrEmpty(options.SourcePassword)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "SourcePassword", -1); } if (string.IsNullOrEmpty(options.TargetFile)) { throw new CommandLineRequiredArgumentMissingException(typeof(Options), "TargetFile", -1); } var augmentor = new SqlPublicationDacpacAugmentor(); var extractor = new SqlPublicationExtractor(); var connectionString = string.Format("Data Source={0};Initial Catalog={1};UID={2};Password={3};MultipleActiveResultSets=True", options.SourceServerName, options.SourceDatabaseName, options.SourceUser, options.SourcePassword); augmentor.Augment(options.TargetFile, extractor.Extract(connectionString)); }