Exemplo n.º 1
0
        private void SetWorkingPathToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var allRepos    = appConfiguration.Select(c => c.GitLookerPath).ToList();
            var repoSources = new RepoSources(folderBrowserDialog1, allRepos);

            repoSources.ShowDialog();
            var newRepoList = repoSources.RepoList ?? Enumerable.Empty <string>();

            if (!newRepoList.Any())
            {
                return;
            }
            loggingService.LogInformation($"[{nameof(SetWorkingPathToolStripMenuItem_Click)}] Add git repo directories: {string.Join(";", newRepoList.ToArray())}");

            if (noReposLoaded)
            {
                SetMenuFunctionIfNoRepos(false);
            }

            RemoveRepoTab(GetRepoTabs().Where(r => !newRepoList.Contains(r.RepoConfiguration.GitLookerPath)));

            foreach (var newRepo in newRepoList.Where(r => !GetRepoTabs().Any(t => t.RepoConfiguration.GitLookerPath == r)))
            {
                tabsRepoBuilder.BuildTab(reposCatalogs, Repo_OnSelectRepo, newRepo);
            }

            appConfiguration.Save();
            SetCurrentTab();
            GenerateAndUpdateRepos();
        }