Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            AppDomain.CurrentDomain.ProcessExit        += OnProcessExit;
            AppDomain.CurrentDomain.UnhandledException += UnhandledException;

            var parser = new Parser(cfg => cfg.CaseInsensitiveEnumValues = true);

            parser
            .ParseArguments <Options>(args)
            .WithParsed(async options =>
            {
                _serviceProvider            = Bootstrapper.InitServices();
                _logger                     = _serviceProvider.GetService <ILogger>();
                _buildsWatcher              = _serviceProvider.GetService <IWatchBuilds>();
                _signalLightController      = _serviceProvider.GetService <IControlSignalLight>();
                _buildStatusLightController = _serviceProvider.GetService <IControlBuildStatusLight>();

                if (_buildStatusLightController?.IsConnected == false)
                {
                    _logger.Information("Signal light not connected! Continuing without device...");
                }

                await Start(options);

                _logger.Information("Press any key to exit");
            });

            Console.ReadKey();
        }
Ejemplo n.º 2
0
        public LighthouseViewModel(
            Db db,
            ILogger logger,
            InMemorySink inMemmorySink,
            IWatchBuilds buildsWatcher,
            IControlBuildStatusLight buildStatusLightController,
            IControlSignalLight signalLightController)
        {
            _db           = db;
            _logger       = logger;
            _inMemorySink = inMemmorySink;
            _inMemorySink.Events.CollectionChanged += LogEventsCollectionChangedHandler;
            _buildsWatcher = buildsWatcher;
            _buildStatusLightController = buildStatusLightController;
            _signalLightController      = signalLightController;

            IsRunning          = false;
            ButtonText         = "Start";
            LighthouseSettings = GetSettings();
            SetValidationRules();
            StartStopLighthouse = ReactiveCommand.Create(OnStartStopClick, this.IsValid());
        }