public MainWindow()
        {
            logger          = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();
            telemetryWriter = new TelemetryWriter();
            logger.Info("\n\nApp start");
            telemetryWriter.WriteAppStart();
            messageBoxService  = new MessageBoxService();
            dbService          = new DbService();
            drawService        = new DrawService(logger);
            throwService       = new ThrowService(logger);
            configService      = new ConfigService(logger, dbService);
            scoreBoardService  = new ScoreBoardService(logger, configService, drawService);
            camsDetectionBoard = new CamsDetectionBoard(configService, logger, drawService);
            fileSystemService  = new FileSystemService();
            versionChecker     = new VersionChecker(appVersion, fileSystemService, dbService, configService, messageBoxService);
            detectionService   = new DetectionService(drawService, configService, throwService, logger, camsDetectionBoard);
            manualThrowPanel   = new ManualThrowPanel(logger, detectionService);
            gameService        = new GameService(scoreBoardService, camsDetectionBoard, detectionService, logger, dbService, manualThrowPanel);

            InitializeComponent();
            viewModel = new MainWindowViewModel(logger,
                                                messageBoxService,
                                                dbService,
                                                versionChecker,
                                                scoreBoardService,
                                                camsDetectionBoard,
                                                drawService,
                                                detectionService,
                                                manualThrowPanel,
                                                gameService,
                                                configService);
            DataContext = viewModel;
        }
        private void RegisterContainer()
        {
            logger.Debug("Services container register start");

            var cb = new ContainerBuilder();

            cb.Register(r => logger).AsSelf().SingleInstance();

            cb.Register(r => telemetryWriter).AsSelf().SingleInstance();

            var messageBoxService = new MessageBoxService();

            cb.Register(r => messageBoxService).AsSelf().SingleInstance();

            var dbService = new DBService();

            cb.Register(r => dbService).AsSelf().SingleInstance();

            var configService = new ConfigService(logger, dbService);

            cb.Register(r => configService).AsSelf().SingleInstance();

            var versionChecker = new VersionChecker(dbService, configService, messageBoxService);

            cb.Register(r => versionChecker).AsSelf().SingleInstance();

            var scoreBoardService = new ScoreBoardService();

            cb.Register(r => scoreBoardService).AsSelf().SingleInstance();

            var drawService = new DrawService(this, configService, logger);

            cb.Register(r => drawService).AsSelf().SingleInstance();

            var throwService = new ThrowService(drawService, logger);

            cb.Register(r => throwService).AsSelf().SingleInstance();

            var detectionService = new DetectionService(this, drawService, configService, throwService, logger);

            cb.Register(r => detectionService).AsSelf().SingleInstance();

            var manualThrowPanel = new ManualThrowPanel(logger, detectionService);

            cb.Register(r => manualThrowPanel).AsSelf().SingleInstance();

            var gameService = new GameService(this, scoreBoardService, detectionService, configService, drawService, logger, dbService);

            cb.Register(r => gameService).AsSelf().SingleInstance();

            ServiceContainer = cb.Build();

            logger.Debug("Services container register end");
        }
Ejemplo n.º 3
0
 public GameService(ScoreBoardService scoreBoardService,
                    CamsDetectionBoard camsDetectionBoard,
                    DetectionService detectionService,
                    Logger logger,
                    DbService dbService,
                    ManualThrowPanel manualThrowPanel)
 {
     this.logger             = logger;
     this.scoreBoardService  = scoreBoardService;
     this.camsDetectionBoard = camsDetectionBoard;
     this.detectionService   = detectionService;
     this.dbService          = dbService;
     this.manualThrowPanel   = manualThrowPanel;
 }
        public GameTabViewModel(DataContext dataContext,
                                IDbService dbService,
                                ILogger logger,
                                IConfigService configService,
                                DrawService drawService,
                                IMessageBoxService messageBoxService,
                                CamsDetectionBoard camsDetectionBoard,
                                IDetectionService detectionService,
                                GameService gameService,
                                ScoreBoardService scoreBoardService,
                                ManualThrowPanel manualThrowPanel)
            : base(dataContext, dbService, logger, configService, drawService, messageBoxService, camsDetectionBoard, detectionService)
        {
            this.gameService       = gameService;
            this.scoreBoardService = scoreBoardService;
            this.manualThrowPanel  = manualThrowPanel;

            StartNewGameCommand = new StartNewGameCommand(StartGame);
            StopGameCommand     = new StopGameCommand(StopGameByButton);
        }