Esempio n. 1
0
        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;
            });
        }
Esempio n. 2
0
        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();
            });
        }