Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }