/// <summary> /// Initializes a new instance of the <see cref="EditConnectionViewModel" /> class. /// </summary> /// <param name="platformProvider">The platform provider.</param> /// <param name="logService">The log service.</param> /// <param name="settingsRepository">The build provider settings repository.</param> /// <param name="connectionSettingsFactory">The connection settings factory.</param> /// <param name="buildProviderStrategy">The build provider strategy.</param> /// <param name="trackedProjectFactory">The tracked project factory.</param> /// <param name="trackedProjectsFactory">The tracked projects factory.</param> /// <param name="currentSettings">The current settings.</param> public EditConnectionViewModel( IPlatformProvider platformProvider, ILogService logService, IConnectionSettingsRepository settingsRepository, IConnectionSettingsViewModelFactory <AppVeyor.ConnectionSettings, ConnectionSettingsViewModel> connectionSettingsFactory, IBuildProviderStrategy buildProviderStrategy, ITrackedProjectViewModelFactory trackedProjectFactory, ITrackedProjectsViewModelFactory trackedProjectsFactory, AppVeyor.ConnectionSettings currentSettings) : base( platformProvider, logService, settingsRepository, buildProviderStrategy, trackedProjectFactory, trackedProjectsFactory, currentSettings) { Ensure.That(connectionSettingsFactory).IsNotNull(); var settings = connectionSettingsFactory.Create(); settings.Name = currentSettings.Name; settings.Token = currentSettings.Token; settings.BuildsPerProject = currentSettings.BuildsPerProject; settings.IsDirty = false; Settings = settings; TryConnect(); }
/// <summary> /// Initializes a new instance of the <see cref="EditConnectionViewModel" /> class. /// </summary> /// <param name="platformProvider">The platform provider.</param> /// <param name="logService">The log service.</param> /// <param name="settingsRepository">The build provider settings repository.</param> /// <param name="connectionSettingsFactory">The connection settings factory.</param> /// <param name="buildProviderStrategy">The build provider strategy.</param> /// <param name="trackedProjectFactory">The tracked project factory.</param> /// <param name="trackedProjectsFactory">The tracked projects factory.</param> /// <param name="currentSettings">The current settings.</param> public EditConnectionViewModel( IPlatformProvider platformProvider, ILogService logService, IConnectionSettingsRepository settingsRepository, IConnectionSettingsViewModelFactory <TeamCity.ConnectionSettings, ConnectionSettingsViewModel> connectionSettingsFactory, IBuildProviderStrategy buildProviderStrategy, ITrackedProjectViewModelFactory trackedProjectFactory, ITrackedProjectsViewModelFactory trackedProjectsFactory, TeamCity.ConnectionSettings currentSettings) : base( platformProvider, logService, settingsRepository, buildProviderStrategy, trackedProjectFactory, trackedProjectsFactory, currentSettings) { Ensure.That(connectionSettingsFactory).IsNotNull(); var settings = connectionSettingsFactory.Create(); settings.Name = currentSettings.Name; settings.Url = currentSettings.Url; settings.AuthenticationType = currentSettings.AuthenticationType; settings.Username = currentSettings.Username; settings.Password = currentSettings.Password; settings.BuildsPerProject = currentSettings.BuildsPerProject; settings.IsDirty = false; Settings = settings; TryConnect(); }
/// <summary> /// Initializes a new instance of the <see cref="EditConnectionViewModel{T}" /> class. /// </summary> /// <param name="platformProvider">The platform provider.</param> /// <param name="logService">The log service.</param> /// <param name="settingsRepository">The settings repository.</param> /// <param name="buildProviderStrategy">The build provider strategy.</param> /// <param name="trackedProjectFactory">The tracked project factory.</param> /// <param name="trackedProjectsFactory">The tracked projects factory.</param> /// <param name="currentSettings">The current settings.</param> protected EditConnectionViewModel( IPlatformProvider platformProvider, ILogService logService, IConnectionSettingsRepository settingsRepository, IBuildProviderStrategy buildProviderStrategy, ITrackedProjectViewModelFactory trackedProjectFactory, ITrackedProjectsViewModelFactory trackedProjectsFactory, T currentSettings) : base(platformProvider) { Ensure.That(logService).IsNotNull(); Ensure.That(settingsRepository).IsNotNull(); Ensure.That(buildProviderStrategy).IsNotNull(); Ensure.That(trackedProjectFactory).IsNotNull(); Ensure.That(trackedProjectsFactory).IsNotNull(); Ensure.That(currentSettings).IsNotNull(); _logService = logService; _settingsRepository = settingsRepository; _buildProviderStrategy = buildProviderStrategy; _trackedProjectFactory = trackedProjectFactory; _trackedProjectsFactory = trackedProjectsFactory; _currentSettings = currentSettings; DisplayName = Properties.Resources.EditConnection_View; }
/// <summary> /// Initializes a new instance of the <see cref="AddConnectionViewModel{T1,T2}" /> class. /// </summary> /// <param name="platformProvider">The platform provider.</param> /// <param name="eventAggregator">The event aggregator.</param> /// <param name="logService">The log service.</param> /// <param name="settingsRepository">The settings repository.</param> /// <param name="buildProviderStrategy">The build provider strategy.</param> /// <param name="trackedProjectFactory">The tracked project factory.</param> /// <param name="trackedProjectsFactory">The tracked projects factory.</param> /// <param name="connectionSettingsFactory">The settings factory.</param> public AddConnectionViewModel( IPlatformProvider platformProvider, IEventAggregator eventAggregator, ILogService logService, IConnectionSettingsRepository settingsRepository, IBuildProviderStrategy buildProviderStrategy, ITrackedProjectViewModelFactory trackedProjectFactory, ITrackedProjectsViewModelFactory trackedProjectsFactory, IConnectionSettingsViewModelFactory <T1, T2> connectionSettingsFactory) : base(platformProvider) { Ensure.That(eventAggregator).IsNotNull(); Ensure.That(logService).IsNotNull(); Ensure.That(settingsRepository).IsNotNull(); Ensure.That(buildProviderStrategy).IsNotNull(); Ensure.That(trackedProjectFactory).IsNotNull(); Ensure.That(trackedProjectsFactory).IsNotNull(); Ensure.That(connectionSettingsFactory).IsNotNull(); _eventAggregator = eventAggregator; _logService = logService; _settingsRepository = settingsRepository; _buildProviderStrategy = buildProviderStrategy; _trackedProjectFactory = trackedProjectFactory; _trackedProjectsFactory = trackedProjectsFactory; _connectionTask = new NotifyTask(); Settings = connectionSettingsFactory.Create(); Settings.BuildsPerProject = 5; DisplayName = Properties.Resources.AddConnection_View; }
/// <summary> /// Initializes a new instance of the <see cref="Connection" /> class. /// </summary> /// <param name="buildProviderStrategy">The build provider strategy.</param> /// <param name="settings">The settings.</param> public Connection(IBuildProviderStrategy buildProviderStrategy, ConnectionSettings settings) { Ensure.That(buildProviderStrategy).IsNotNull(); Ensure.That(settings).IsNotNull(); _buildProviderStrategy = buildProviderStrategy; Settings = settings.Clone(); }
/// <summary> /// Initializes a new instance of the <see cref="ConnectionPool" /> class. /// </summary> /// <param name="settingsRepository">The settings repository.</param> /// <param name="buildProviderStrategy">The build provider strategy.</param> public ConnectionPool(IConnectionSettingsRepository settingsRepository, IBuildProviderStrategy buildProviderStrategy) { Ensure.That(settingsRepository).IsNotNull(); Ensure.That(buildProviderStrategy).IsNotNull(); _buildProviderStrategy = buildProviderStrategy; _connections = new Dictionary <Guid, Connection>(); _observers = new HashSet <IObserver <Notification <IConnection>[]> >(); _subscription = settingsRepository.Subscribe(this); }