public bool IsSettingForDatabase(DatabaseSetting db) { if (db == null) { return(false); } if (!ServerName.Equals(db.ServerName, StringComparison.InvariantCultureIgnoreCase)) { return(false); } if (!DatabaseName.Equals(db.DatabaseName, StringComparison.InvariantCultureIgnoreCase)) { return(false); } if (!ConnectionString.Equals(db.ConnectionString, StringComparison.InvariantCultureIgnoreCase)) { return(false); } if (!ConnectionString.Equals(db.ConnectionString, StringComparison.InvariantCultureIgnoreCase)) { return(false); } return((new DirectoryInfo(ScriptsPath)).FullName.Equals((new DirectoryInfo(db.ScriptsPath)).FullName, StringComparison.InvariantCultureIgnoreCase)); }
public bool IsSettingForDatabase(DatabaseSetting db) { if(db == null) { return false; } if(!ServerName.Equals(db.ServerName, StringComparison.InvariantCultureIgnoreCase)) { return false; } if(!DatabaseName.Equals(db.DatabaseName, StringComparison.InvariantCultureIgnoreCase)) { return false; } if (!ConnectionString.Equals(db.ConnectionString, StringComparison.InvariantCultureIgnoreCase)) { return false; } if (!ConnectionString.Equals(db.ConnectionString, StringComparison.InvariantCultureIgnoreCase)) { return false; } return (new DirectoryInfo(ScriptsPath)).FullName.Equals((new DirectoryInfo(db.ScriptsPath)).FullName, StringComparison.InvariantCultureIgnoreCase); }
public AddDatabaseViewModel() { Database = new DatabaseSetting(); }
private async Task Build(IEnumerable<BuildItem> items, DatabaseSetting dbSetting, DvcsScriptRepositoryBase.RevisionIdentifierBase sourceChangeset) { using (var connection = new SqlConnection(dbSetting.ConnectionString)) { await connection.OpenAsync(); using (var transaction = connection.BeginTransaction()) { var db = dbSetting.Create(connection, transaction); if (await db.BuildAsync(items)) { transaction.Commit(); } } } await DispatcherInvoke(() => { ((MainWindowViewModel)DataContext).IsReady = true; ((MainWindowViewModel)DataContext).IsDone = true; var vm = ((MainWindowViewModel)DataContext); Properties.Settings.Default.LastChangeset = vm.SourceChangeset as DvcsScriptRepositoryBase.ChangesetId; Properties.Settings.Default.LastTag = vm.SourceChangeset as DvcsScriptRepositoryBase.Tag; Properties.Settings.Default.Save(); }); }
private async Task Update(DatabaseSetting dbSetting, DvcsScriptRepositoryBase.RevisionIdentifierBase sourceChangeset) { ICollection<BuildItem> buildItems; using (var connection = new SqlConnection(dbSetting.ConnectionString)) { await connection.OpenAsync(); using (var transaction = connection.BeginTransaction()) { var fileSystem = new FileSystem(); var db = dbSetting.Create(connection, transaction); var gitProcess = new ExternalProcess(pathToGit.FullName); var dvcsScriptRepo = new GitScriptRepository(dbSetting.ScriptsPath, dbSetting.ServerName, dbSetting.DatabaseName, gitProcess, fileSystem, sqlParser, new ConsoleLogger(SeverityLevel.Warning), false); dvcsScriptRepo.SourceChangeset = sourceChangeset; buildItems = await db.GetChangedBuildItemsAsync(dvcsScriptRepo); transaction.Commit(); } } await DispatcherInvoke(() => { ((MainWindowViewModel)DataContext).IsReady = true; ((MainWindowViewModel)DataContext).IsDone = false; ObservableCollection<BuildItemViewModel> itemsCollection = new ObservableCollection<BuildItemViewModel> (buildItems.Select(x => new BuildItemViewModel(x, Dispatcher))); ((MainWindowViewModel)DataContext).Items = itemsCollection; }); }