public ApiRouter( ApiThrottler apiThrottler, IOptionsService optionsService, IBellService bellService, ITalkTimerService timerService, ITalkScheduleService talksService, IDateTimeService dateTimeService) { _apiThrottler = apiThrottler; _optionsService = optionsService; _dateTimeService = dateTimeService; _timersApiController = new Lazy <TimersApiController>(() => new TimersApiController(timerService, talksService, _optionsService, _apiThrottler)); _dateTimeApiController = new Lazy <DateTimeApiController>(() => new DateTimeApiController(_apiThrottler)); _bellApiController = new Lazy <BellApiController>(() => new BellApiController(_optionsService, bellService, _apiThrottler)); _systemApiController = new Lazy <SystemApiController>(() => new SystemApiController(_optionsService, _apiThrottler)); _webHooksApiController = new Lazy <WebHooksApiController>(() => new WebHooksApiController()); }
public MainViewModel( IOptionsService optionsService, IMonitorsService monitorsService, ITalkTimerService timerService, IBellService bellService) { _optionsService = optionsService; _monitorsService = monitorsService; _bellService = bellService; _timerService = timerService; // subscriptions... Messenger.Default.Register <NavigateMessage>(this, OnNavigate); Messenger.Default.Register <TimerMonitorChangedMessage>(this, OnTimerMonitorChanged); Messenger.Default.Register <AlwaysOnTopChangedMessage>(this, OnAlwaysOnTopChanged); Messenger.Default.Register <OvertimeMessage>(this, OnTalkOvertime); // should really create a "page service" rather than create views in the main view model! _pages.Add(OperatorPageViewModel.PageName, new OperatorPage()); _pages.Add(SettingsPageViewModel.PageName, new SettingsPage()); _timerWindowViewModel = new TimerOutputWindowViewModel(_optionsService); Messenger.Default.Send(new NavigateMessage(OperatorPageViewModel.PageName, null)); #pragma warning disable 4014 // (fire and forget) LaunchTimerWindowAsync(); #pragma warning restore 4014 }
public OperatorPageViewModel( ITalkTimerService timerService, ITalkScheduleService scheduleService, IAdaptiveTimerService adaptiveTimerService, IOptionsService optionsService) { _scheduleService = scheduleService; _optionsService = optionsService; _adaptiveTimerService = adaptiveTimerService; _timerService = timerService; _timerService.TimerChangedEvent += TimerChangedHandler; SelectFirstTalk(); _talkTitle = _unknownTalkTitle; StartCommand = new RelayCommand(StartTimer, () => IsNotRunning); StopCommand = new RelayCommand(StopTimer, () => IsRunning); SettingsCommand = new RelayCommand(NavigateSettings, () => IsNotRunning); IncrementTimerCommand = new RelayCommand(IncrementTimer, CanIncreaseTimerValue); IncrementTimer15Command = new RelayCommand(IncrementTimer15Secs, CanIncreaseTimerValue); IncrementTimer5Command = new RelayCommand(IncrementTimer5Mins, CanIncreaseTimerValue); DecrementTimerCommand = new RelayCommand(DecrementTimer, CanDecreaseTimerValue); DecrementTimer15Command = new RelayCommand(DecrementTimer15Secs, CanDecreaseTimerValue); DecrementTimer5Command = new RelayCommand(DecrementTimer5Mins, CanDecreaseTimerValue); BellToggleCommand = new RelayCommand(BellToggle); // subscriptions... Messenger.Default.Register <OperatingModeChangedMessage>(this, OnOperatingModeChanged); Messenger.Default.Register <AutoMeetingChangedMessage>(this, OnAutoMeetingChanged); }
public AutomateService( IOptionsService optionsService, ITalkTimerService timerService, ITalkScheduleService scheduleService) { _optionsService = optionsService; _timerService = timerService; _scheduleService = scheduleService; }
public TimersApiController( ITalkTimerService timerService, ITalkScheduleService talkScheduleService, IOptionsService optionsService, ApiThrottler apiThrottler) { _timerService = timerService; _talkScheduleService = talkScheduleService; _optionsService = optionsService; _apiThrottler = apiThrottler; }
public HttpServer( IOptionsService optionsService, IBellService bellService, ITalkTimerService timerService, ITalkScheduleService talksService) { _optionsService = optionsService; _apiThrottler = new ApiThrottler(optionsService); _apiRouter = new ApiRouter(_apiThrottler, _optionsService, bellService, timerService, talksService); }
public HttpServer( IOptionsService optionsService, IBellService bellService, ITalkTimerService timerService, ITalkScheduleService talksService) { _optionsService = optionsService; _clock24Hour = new DateTime(1, 1, 1, 23, 1, 1).ToShortTimeString().Contains("23"); _apiThrottler = new ApiThrottler(optionsService); _apiRouter = new ApiRouter(_apiThrottler, _optionsService, bellService, timerService, talksService); }
public OperatorPageViewModel( ITalkTimerService timerService, ITalkScheduleService scheduleService, IAdaptiveTimerService adaptiveTimerService, IOptionsService optionsService, ICommandLineService commandLineService, IBellService bellService) { _scheduleService = scheduleService; _optionsService = optionsService; _adaptiveTimerService = adaptiveTimerService; _commandLineService = commandLineService; _bellService = bellService; _timerService = timerService; _timerService.TimerChangedEvent += TimerChangedHandler; _countUp = _optionsService.Options.CountUp; SelectFirstTalk(); _timerService.TimerStartStopFromApiEvent += HandleTimerStartStopFromApi; // commands... StartCommand = new RelayCommand(StartTimer, () => IsNotRunning && IsValidTalk, true); StopCommand = new RelayCommand(StopTimer, () => IsRunning); SettingsCommand = new RelayCommand(NavigateSettings, () => IsNotRunning && !_commandLineService.NoSettings); HelpCommand = new RelayCommand(LaunchHelp); NewVersionCommand = new RelayCommand(DisplayNewVersionPage); IncrementTimerCommand = new RelayCommand(IncrementTimer, CanIncreaseTimerValue); IncrementTimer15Command = new RelayCommand(IncrementTimer15Secs, CanIncreaseTimerValue); IncrementTimer5Command = new RelayCommand(IncrementTimer5Mins, CanIncreaseTimerValue); DecrementTimerCommand = new RelayCommand(DecrementTimer, CanDecreaseTimerValue); DecrementTimer15Command = new RelayCommand(DecrementTimer15Secs, CanDecreaseTimerValue); DecrementTimer5Command = new RelayCommand(DecrementTimer5Mins, CanDecreaseTimerValue); BellToggleCommand = new RelayCommand(BellToggle); CountUpToggleCommand = new RelayCommand(CountUpToggle); CloseCountdownCommand = new RelayCommand(CloseCountdownWindow); // subscriptions... Messenger.Default.Register <OperatingModeChangedMessage>(this, OnOperatingModeChanged); Messenger.Default.Register <AutoMeetingChangedMessage>(this, OnAutoMeetingChanged); Messenger.Default.Register <CountdownWindowStatusChangedMessage>(this, OnCountdownWindowStatusChanged); Messenger.Default.Register <ShowCircuitVisitToggleChangedMessage>(this, OnShowCircuitVisitToggleChanged); if (IsInDesignMode) { IsNewVersionAvailable = true; } GetVersionData(); }
public MainViewModel( IOptionsService optionsService, ITalkTimerService timerService, ISnackbarService snackbarService, IHttpServer httpServer, ICommandLineService commandLineService, ICountdownTimerTriggerService countdownTimerTriggerService, IDateTimeService dateTimeService, ITimerOutputDisplayService timerOutputDisplayService, ICountdownOutputDisplayService countdownDisplayService) { _commandLineService = commandLineService; _dateTimeService = dateTimeService; _timerOutputDisplayService = timerOutputDisplayService; _countdownDisplayService = countdownDisplayService; if (commandLineService.NoGpu || ForceSoftwareRendering()) { // disable hardware (GPU) rendering so that it's all done by the CPU... RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly; } _snackbarService = snackbarService; _optionsService = optionsService; _httpServer = httpServer; _timerService = timerService; _countdownTimerTriggerService = countdownTimerTriggerService; _httpServer.RequestForTimerDataEvent += OnRequestForTimerData; // subscriptions... Messenger.Default.Register <NavigateMessage>(this, OnNavigate); Messenger.Default.Register <TimerMonitorChangedMessage>(this, OnTimerMonitorChanged); Messenger.Default.Register <CountdownMonitorChangedMessage>(this, OnCountdownMonitorChanged); Messenger.Default.Register <AlwaysOnTopChangedMessage>(this, OnAlwaysOnTopChanged); Messenger.Default.Register <HttpServerChangedMessage>(this, OnHttpServerChanged); Messenger.Default.Register <StopCountDownMessage>(this, OnStopCountdown); InitHttpServer(); // should really create a "page service" rather than create views in the main view model! _pages.Add(OperatorPageViewModel.PageName, new OperatorPage()); Messenger.Default.Send(new NavigateMessage(null, OperatorPageViewModel.PageName, null)); // (fire and forget) Task.Run(LaunchTimerWindowAsync); InitHeartbeatTimer(); }
public TimersResponseData( ITalkScheduleService talkService, ITalkTimerService timerService, IOptionsService optionsService) { var talks = talkService.GetTalkScheduleItems(); Status = timerService.GetStatus(); TimerInfo = new List <TimerInfo>(); var countUpByDefault = optionsService.Options.CountUp; foreach (var talk in talks) { TimerInfo.Add(CreateTimerInfo(talk, countUpByDefault)); } }
public TimersResponseData( ITalkScheduleService talkService, ITalkTimerService timerService, IOptionsService optionsService, int talkId) { var talks = talkService.GetTalkScheduleItems(); var talk = talks.SingleOrDefault(x => x.Id == talkId); if (talk == null) { throw new WebServerException(WebServerErrorCode.TimerDoesNotExist); } Status = timerService.GetStatus(); TimerInfo = new List <TimerInfo> { CreateTimerInfo(talk, optionsService.Options.CountUp) }; }