private async Task Connect(T settings)
        {
            try
            {
                var provider = _buildProviderStrategy.Create(settings);

                var projects = await provider.GetProjectsAsync(CancellationToken.None).ConfigureAwait(false);

                Settings.IsDirty         = false;
                Settings.TrackedProjects = _trackedProjectsFactory.Create(projects.OrderBy(project => project.Name).Select(project => _trackedProjectFactory.Create(project.Id, project.Name, _currentSettings.TrackedProjects.Contains(project.Id))).ToArray());

                HasConnected = true;
            }
            catch (Exception ex)
            {
                _logService.Log(GetType(), new LogEntry(LogEntryType.Error, "An error occurred while editing connection.", ex));

                HasConnected = false;

                throw;
            }
        }
Exemple #2
0
 private IBuildProvider GetProvider()
 {
     return(_provider ?? (_provider = _buildProviderStrategy.Create(Settings)));
 }