/// <summary>Registers the type mappings with the Unity container.</summary> /// <param name="container">The unity container to configure.</param> /// <remarks>There is no need to register concrete types such as controllers or API controllers (unless you want to /// change the defaults), as Unity allows resolving a concrete type even if it was not previously registered.</remarks> public static void RegisterTypes(IUnityContainer container) { Log.Information("Registering IoC dependencies with container"); var settingStore = new SettingStore(); var credentialService = new CredentialsService(settingStore.ForKey(SettingKeys.Credentials)); var credentials = credentialService.Get(); var connectionSettingsService = new ConnectionSettingsService(settingStore.ForKey(SettingKeys.ConnectionSettings)); container.RegisterInstance(connectionSettingsService); var connectionSettings = connectionSettingsService.Get(); var tfsBuildDefinitionRepository = new TfsBuildDefinitionRepository(credentials, settingStore.ForKey(SettingKeys.BuildDefinitions), settingStore.ForKey(SettingKeys.Builds), connectionSettings); var tfsMonitoringService = new TfsMonitoringService(tfsBuildDefinitionRepository, TimeSpan.FromMinutes(1), TimeSpan.FromSeconds(30)); tfsMonitoringService.Start(); var observableCollections = new Dictionary <string, IObservableRepository> { { "buildDefinitions", tfsMonitoringService.BuildDefinitions }, { "builds", tfsMonitoringService.Builds }, { "settings", tfsMonitoringService.Settings } }; var observableRepositoryHubSubscriptionFactory = new ObservableRepositoryHubSubscriptionFactory(observableCollections); container.RegisterInstance(observableRepositoryHubSubscriptionFactory); container.RegisterInstance(credentialService); }
public void Handle(HttpListenerContext context) { var response = context.Response; var statusCode = (int)HttpStatusCode.NoContent; var message = ""; try { using (var body = context.Request.InputStream) { using (var reader = new System.IO.StreamReader(body, context.Request.ContentEncoding)) { var data = reader.ReadToEnd(); var connectionSettings = JsonConvert.DeserializeObject <ConnectionSettingsModel>(data); var connectionSettingsService = new ConnectionSettingsService(); connectionSettingsService.Update(connectionSettings.Host, connectionSettings.Port); } } } catch (Exception e) { statusCode = (int)HttpStatusCode.InternalServerError; message = e.Message; } response.StatusCode = statusCode; var messageBytes = Encoding.Default.GetBytes(message); response.OutputStream.Write(messageBytes, 0, messageBytes.Length); response.Close(); }
public SettingsViewModel(ConnectionSettingsService connectionSettingsService, ConnectionMessenger messenger) { ArgumentMust.NotBeNull(() => connectionSettingsService); ArgumentMust.NotBeNull(() => messenger); _connectionSettingsService = connectionSettingsService; _messenger = messenger; _messenger.SubscribeTo(this); ServerName = _connectionSettingsService.ServerName.AsString; ApplyAsyncCommand = new AsyncCommand(ExecuteApplyCommandAsync); }
public void SetUp() { hkcu.DeleteSubKeyTree(TestKeyPath, false); var repository = new ConnectionSettingsRepository(hkcu.CreateSubKey(TestKeyPath)); repository.SetProjectSettings(new ProjectConnectionSettings() { ProjectId = "project-1", Domain = "project-domain" }); this.service = new ConnectionSettingsService(repository); }
public void SetUp() { hkcu.DeleteSubKeyTree(TestKeyPath, false); var projectRepository = new ProjectRepository(hkcu.CreateSubKey(TestKeyPath)); var settingsRepository = new ConnectionSettingsRepository(projectRepository); this.service = new ConnectionSettingsService(settingsRepository); // Set some initial project settings. projectRepository.AddProject(new ProjectLocator(SampleProjectId)); var projectSettings = settingsRepository.GetProjectSettings(SampleProjectId); projectSettings.RdpDomain.Value = "project-domain"; settingsRepository.SetProjectSettings(projectSettings); }
public void SetUp() { hkcu.DeleteSubKeyTree(TestKeyPath, false); var projectRepository = new ProjectRepository( hkcu.CreateSubKey(TestKeyPath), new Mock <IEventService>().Object); var settingsRepository = new ConnectionSettingsRepository(projectRepository); this.service = new ConnectionSettingsService(settingsRepository); // Set some initial project settings. projectRepository.AddProjectAsync(SampleProjectId).Wait(); var projectSettings = settingsRepository.GetProjectSettings(SampleProjectId); projectSettings.Domain.Value = "project-domain"; settingsRepository.SetProjectSettings(projectSettings); }