예제 #1
0
        public StateViewModel(IRecordDirectoryObserver recordObserver,
                              IEventAggregator eventAggregator,
                              IAppConfiguration appConfiguration,
                              ICaptureService captureService,
                              IOverlayService overlayService,
                              IUpdateCheck updateCheck,
                              IAppVersionProvider appVersionProvider,
                              IWebVersionProvider webVersionProvider,
                              LoginManager loginManager,
                              IRTSSService rTSSService,
                              ILogger <StateViewModel> logger)
        {
            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            _recordObserver     = recordObserver;
            _eventAggregator    = eventAggregator;
            _appConfiguration   = appConfiguration;
            _captureService     = captureService;
            _overlayService     = overlayService;
            _updateCheck        = updateCheck;
            _appVersionProvider = appVersionProvider;
            _logger             = logger;

            IsCaptureModeActive = false;
            IsOverlayActive     = _appConfiguration.IsOverlayActive && rTSSService.IsRTSSInstalled();

            _captureService.IsCaptureModeActiveStream
            .Subscribe(state => IsCaptureModeActive = state);

            _captureService.IsLoggingActiveStream
            .Subscribe(state => IsLoggingActive = state);

            _overlayService.IsOverlayActiveStream
            .Subscribe(state => IsOverlayActive = state);

            IsLoggedIn = loginManager.State.Token != null;

            _eventAggregator.GetEvent <PubSubEvent <AppMessages.LoginState> >().Subscribe(state =>
            {
                IsLoggedIn = state.IsLoggedIn;
                RaisePropertyChanged(nameof(IsLoggedIn));
            });


            Task.Run(async() =>
            {
                var(updateAvailable, updateVersion) = await _updateCheck.IsUpdateAvailable();
                Dispatcher.CurrentDispatcher.Invoke(() =>
                {
                    IsUpdateAvailable   = updateAvailable;
                    UpdateHyperlinkText = $"New version available on GitHub: v{updateVersion}";
                    RaisePropertyChanged(nameof(IsUpdateAvailable));
                });
            });

            stopwatch.Stop();
            _logger.LogInformation(this.GetType().Name + " {initializationTime}s initialization time", Math.Round(stopwatch.ElapsedMilliseconds * 1E-03, 1));
        }
예제 #2
0
        public StateViewModel(IRecordDirectoryObserver recordObserver,
                              IEventAggregator eventAggregator,
                              IAppConfiguration appConfiguration,
                              ICaptureService captureService,
                              IOverlayService overlayService,
                              IUpdateCheck updateCheck,
                              IAppVersionProvider appVersionProvider,
                              IWebVersionProvider webVersionProvider)
        {
            _recordObserver      = recordObserver;
            _eventAggregator     = eventAggregator;
            _appConfiguration    = appConfiguration;
            _captureService      = captureService;
            _overlayService      = overlayService;
            _updateCheck         = updateCheck;
            _appVersionProvider  = appVersionProvider;
            IsDirectoryObserving = true;
            IsCaptureModeActive  = false;
            IsOverlayActive      = _appConfiguration.IsOverlayActive && !string.IsNullOrEmpty(RTSSUtils.GetRTSSFullPath());

            UpdateHyperlinkText = $"New version available on GitHub: v{webVersionProvider.GetWebVersion()}";

            _recordObserver.HasValidSourceStream
            .Subscribe(state => IsDirectoryObserving = state);

            _captureService.IsCaptureModeActiveStream
            .Subscribe(state => IsCaptureModeActive = state);

            _overlayService.IsOverlayActiveStream
            .Subscribe(state => IsOverlayActive = state);
        }
예제 #3
0
 public PaymentGatewayController(IAuthorizeService authorizeService, ICaptureService captureService, IVoidService voidService, IRefundService refundService)
 {
     _authorizeService = authorizeService;
     _captureService   = captureService;
     _voidService      = voidService;
     _refundService    = refundService;
 }
        public ParameterPanelViewModel(
            ISerialService serialService,
            ICameraService cameraService,
            IParameterServices param,
            IStatusServices statusService,
            ICaptureService captureService,
            IEventAggregator eventAggregator)
        {
            _serialService   = serialService;
            _cameraService   = cameraService;
            _captureService  = captureService;
            Status           = statusService;
            _eventAggregator = eventAggregator;
            Params           = param;

            // ask for list update for initial value
            // _eventAggregator.GetEvent<ComListUpdateRequestedEvent>().Publish();

            Params.ManualPowerCheck.PropertyChanged += ManualPowerCheck_PropertyChanged;


            // restore remote configuration
            SyncRemoteSerialConfiguration();

            CameraInitialization();
        }
예제 #5
0
 public AlghorithmFaceRecognition(IHcFaceDetection faceDetection, IDnFaceRecognition faceRecognition,
                                  ICaptureService captureService, ITestImageRepository testImageRepository)
 {
     _faceDetection       = faceDetection;
     _faceRecognition     = faceRecognition;
     _captureService      = captureService;
     _testImageRepository = testImageRepository;
 }
 public ManualRecogTriggerService(AlgorithmService algService, AlghorithmFaceRecognition faceRecognition, IHcFaceDetection faceDetection, IAuthenticationService authenticationService, ICaptureService captureService)
 {
     _algService            = algService;
     _faceRecognition       = faceRecognition;
     _faceDetection         = faceDetection;
     _authenticationService = authenticationService;
     _captureService        = captureService;
 }
예제 #7
0
        public ResolveMultipleCaptureView(InventoryHold hold)
        {
            m_hold       = hold;
            m_service    = Scout.Core.Service <ICaptureService>();
            m_unitOfWork = hold.Session;

            InitializeComponent();
            Bind();
        }
예제 #8
0
        public ResolveMultipleCaptureView(InventoryHold hold)
        {
            m_hold       = hold;
            m_service    = Scout.Core.Service <ICaptureService>();
            m_unitOfWork = m_service.Providers.Data.GetUnitOfWork();

            InitializeComponent();
            Bind();
        }
 private static void GetServices()
 {
     _tokenService             = _serviceProvider.GetService <ITokenService>();
     _chargeService            = _serviceProvider.GetService <IChargeService>();
     _captureService           = _serviceProvider.GetService <ICaptureService>();
     _refundService            = _serviceProvider.GetService <IRefundService>();
     _customerService          = _serviceProvider.GetService <ICustomerService>();
     _paymentInstrumentService = _serviceProvider.GetService <IPaymentInstrumentService>();
 }
예제 #10
0
 public QueueService(MongoRepository repository, IScreenShotService screenShotService, ICaptureService сaptureService)
 {
     _factory = new ConnectionFactory()
     {
         HostName = ConfigurationManager.AppSettings["RabbitMQ.Host"]
     };
     _queueName         = ConfigurationManager.AppSettings["RabbitMQ.QueueName"];
     _repository        = repository;
     _screenShotService = screenShotService;
     _сaptureService    = сaptureService;
 }
예제 #11
0
        public StateViewModel(IRecordDirectoryObserver recordObserver,
                              IEventAggregator eventAggregator,
                              IAppConfiguration appConfiguration,
                              ICaptureService captureService,
                              IOverlayService overlayService,
                              IUpdateCheck updateCheck,
                              IAppVersionProvider appVersionProvider,
                              IWebVersionProvider webVersionProvider,
                              LoginManager loginManager,
                              IRTSSService rTSSService)
        {
            _recordObserver     = recordObserver;
            _eventAggregator    = eventAggregator;
            _appConfiguration   = appConfiguration;
            _captureService     = captureService;
            _overlayService     = overlayService;
            _updateCheck        = updateCheck;
            _appVersionProvider = appVersionProvider;
            IsCaptureModeActive = false;
            IsOverlayActive     = _appConfiguration.IsOverlayActive && rTSSService.IsRTSSInstalled();

            _captureService.IsCaptureModeActiveStream
            .Subscribe(state => IsCaptureModeActive = state);

            _captureService.IsLoggingActiveStream
            .Subscribe(state => IsLoggingActive = state);

            _overlayService.IsOverlayActiveStream
            .Subscribe(state => IsOverlayActive = state);

            IsLoggedIn = loginManager.State.Token != null;

            _eventAggregator.GetEvent <PubSubEvent <AppMessages.LoginState> >().Subscribe(state => {
                IsLoggedIn = state.IsLoggedIn;
                RaisePropertyChanged(nameof(IsLoggedIn));
            });


            Task.Run(async() =>
            {
                var(updateAvailable, updateVersion) = await _updateCheck.IsUpdateAvailable();
                Dispatcher.CurrentDispatcher.Invoke(() =>
                {
                    IsUpdateAvailable   = updateAvailable;
                    UpdateHyperlinkText = $"New version available on GitHub: v{updateVersion}";
                    RaisePropertyChanged(nameof(IsUpdateAvailable));
                });
            });
        }
예제 #12
0
        public OnlineMetricService(IStatisticProvider frametimeStatisticProvider,
                                   ICaptureService captureServive,
                                   IEventAggregator eventAggregator,
                                   IOverlayEntryCore oerlayEntryCore,
                                   ILogger <OnlineMetricService> logger)
        {
            _captureService   = captureServive;
            _eventAggregator  = eventAggregator;
            _overlayEntryCore = oerlayEntryCore;
            _logger           = logger;

            _frametimeStatisticProvider = frametimeStatisticProvider;

            SubscribeToUpdateSession();
            ConnectOnlineMetricDataStream();
        }
예제 #13
0
 public ProfileInitController(ICaptureService captureService, IHcFaceDetection faceDetection,
                              ProfileInitService profileInitService, ITestImageRepository testImageRepository,
                              IAuthenticationService authenticationService, IRegionManager regionManager)
 {
     _captureService        = captureService;
     _faceDetection         = faceDetection;
     _profileInitService    = profileInitService;
     _testImageRepository   = testImageRepository;
     _authenticationService = authenticationService;
     _regionManager         = regionManager;
     StepInfoContinueClick  = new DelegateCommand(BackExecute);
     StepInfoRetryClick     = new DelegateCommand(StepInfoRetryExecute);
     StartFaceInitCommand   = new DelegateCommand(StartFaceInitExecute);
     BackCommand            = new DelegateCommand(BackExecute);
     _profileInitService.InitFaceProgress = new Progress <ProfileInitProgressArgs>(OnInitFaceProgress);
 }
예제 #14
0
 public CaptureManager(ICaptureService presentMonCaptureService,
                       ISensorService sensorService,
                       IOverlayService overlayService,
                       SoundManager soundManager,
                       IRecordManager recordManager,
                       ILogger <CaptureManager> logger,
                       IAppConfiguration appConfiguration)
 {
     _presentMonCaptureService = presentMonCaptureService;
     _sensorService            = sensorService;
     _overlayService           = overlayService;
     _soundManager             = soundManager;
     _recordManager            = recordManager;
     _logger           = logger;
     _appConfiguration = appConfiguration;
     _presentMonCaptureService.IsCaptureModeActiveStream.OnNext(false);
 }
예제 #15
0
        public StateViewModel(IRecordDirectoryObserver recordObserver,
                              IEventAggregator eventAggregator,
                              IAppConfiguration appConfiguration,
                              ICaptureService captureService)
        {
            _recordObserver   = recordObserver;
            _eventAggregator  = eventAggregator;
            _appConfiguration = appConfiguration;
            _captureService   = captureService;

            IsDirectoryObserving = true;
            IsCaptureModeActive  = false;

            UpdateHpyerlinkText = $"New version available on GitHub: v{WebCheck.GetWebVersion(WebCheck.VersionSourceFileUrl)}";

            _recordObserver.HasValidSourceStream
            .Subscribe(state => IsDirectoryObserving = state);

            _captureService.IsCaptureModeActiveStream
            .Subscribe(state => IsCaptureModeActive = state);
        }
예제 #16
0
 public CaptureController()
 {
     _captureService = new CaptureService();
 }
 public CaptureController(ICaptureService captureService, IMapper mapper)
 {
     _captureService = captureService;
     _mapper         = mapper;
 }
예제 #18
0
        public CaptureViewModel(IAppConfiguration appConfiguration,
                                ICaptureService captureService,
                                IEventAggregator eventAggregator,
                                IRecordDataProvider recordDataProvider,
                                IOverlayService overlayService,
                                IStatisticProvider statisticProvider,
                                ILogger <CaptureViewModel> logger)
        {
            _appConfiguration   = appConfiguration;
            _captureService     = captureService;
            _eventAggregator    = eventAggregator;
            _recordDataProvider = recordDataProvider;
            _overlayService     = overlayService;
            _statisticProvider  = statisticProvider;
            _logger             = logger;

            AddToIgonreListCommand     = new DelegateCommand(OnAddToIgonreList);
            AddToProcessListCommand    = new DelegateCommand(OnAddToProcessList);
            ResetCaptureProcessCommand = new DelegateCommand(OnResetCaptureProcess);

            _logger.LogDebug("{viewName} Ready", this.GetType().Name);
            CaptureStateInfo = "Service ready..." + Environment.NewLine +
                               $"Press {CaptureHotkeyString} to start capture of the running process.";
            SelectedSoundMode = _appConfiguration.HotkeySoundMode;
            CaptureTimeString = _appConfiguration.CaptureTime.ToString();

            ProcessesToIgnore.AddRange(CaptureServiceConfiguration.GetProcessIgnoreList());
            _disposableHeartBeat = GetListUpdatHeartBeat();
            _frametimeStream     = new Subject <string>();

            SubscribeToUpdateProcessIgnoreList();
            SubscribeToGlobalCaptureHookEvent();

            bool captureServiceStarted = StartCaptureService();

            if (captureServiceStarted)
            {
                _overlayService.SetCaptureServiceStatus("Capture service ready...");
            }


            _captureService.IsCaptureModeActiveStream.OnNext(false);

            FrametimeModel = new PlotModel
            {
                PlotMargins         = new OxyThickness(40, 0, 0, 40),
                PlotAreaBorderColor = OxyColor.FromArgb(64, 204, 204, 204),
                LegendPosition      = LegendPosition.TopCenter,
                LegendOrientation   = LegendOrientation.Horizontal
            };

            //Axes
            //X
            FrametimeModel.Axes.Add(new LinearAxis()
            {
                Key                    = "xAxis",
                Position               = AxisPosition.Bottom,
                Title                  = "Samples",
                MajorGridlineStyle     = LineStyle.Solid,
                MajorGridlineThickness = 1,
                MajorGridlineColor     = OxyColor.FromArgb(64, 204, 204, 204),
                MinorTickSize          = 0,
                MajorTickSize          = 0
            });

            //Y
            FrametimeModel.Axes.Add(new LinearAxis()
            {
                Key                    = "yAxis",
                Position               = AxisPosition.Left,
                Title                  = "Frametime [ms]",
                MajorGridlineStyle     = LineStyle.Solid,
                MajorGridlineThickness = 1,
                MajorGridlineColor     = OxyColor.FromArgb(64, 204, 204, 204),
                MinorTickSize          = 0,
                MajorTickSize          = 0
            });
        }
 public void Setup()
 {
     _mockRepo       = new Mock <IPaymentGatewayRepo>();
     _repo           = _mockRepo.Object;
     _captureService = new CaptureService(_repo);
 }
예제 #20
0
 public DefaultRuleStrategy(ICaptureService captureService)
 {
     this.captureService = captureService;
 }
예제 #21
0
 public CaptureController(ICaptureService captureService)
 {
     _captureService = captureService;
 }