public ShellViewModel(string title, LiveInfo liveInfo, SystemConfig config, IServiceClient serviceClient, WebPlatformApiFactory webPlatformApiFactory) { WindowTitle = title; _liveInfo = liveInfo; _config = config; _serviceClient = serviceClient; _webPlatformApiFactory = webPlatformApiFactory; _timer = new Timer((state) => TimerHandler(), null, (int)(liveInfo.StopTime.AddMinutes(-5) - DateTime.Now).TotalMilliseconds, Timeout.Infinite); }
public LiveStatusReporting( ILoggerFacade logger, IServiceClient serviceClient, WebPlatformApiFactory webPlatformApiFactory, EventSubscriptionManager eventSubscriptionManager) { _logger = logger; _serviceClient = serviceClient; _webPlatformApiFactory = webPlatformApiFactory; eventSubscriptionManager.Subscribe <LiveAndRecordingOperateEvent, LiveAndRecordingOperateEventContext>(null, Handler, EventFilter); }
public LiveControlViewModel(IEventAggregator eventAggregator, IUnityContainer container) : this() { _serviceClient = container.Resolve <IServiceClient>(); _webPlatformApiFactory = container.Resolve <WebPlatformApiFactory>(); _eventAggregator = eventAggregator ?? throw new ArgumentNullException("eventAggregator"); _speechVideoLiveAndRecordProvider = container.Resolve <SpeechVideoLiveAndRecordProvider>(); _teacherVideoLiveAndRecordProvider = container.Resolve <TeacherVideoLiveAndRecordProvider>(); _speechVideoLiveAndRecordProvider.OnNetworkInterruption += NetworkStatus; _speechVideoLiveAndRecordProvider.OnNetworkReconnectionFailed += NetworkStatus; _speechVideoLiveAndRecordProvider.OnNetworkReconnectionSucceeded += NetworkStatus; _teacherVideoLiveAndRecordProvider.OnNetworkInterruption += NetworkStatus; _teacherVideoLiveAndRecordProvider.OnNetworkReconnectionFailed += NetworkStatus; _teacherVideoLiveAndRecordProvider.OnNetworkReconnectionSucceeded += NetworkStatus; StartLiveBtnIsEnable = true; StartLiveCommand = new DelegateCommand(new Action(StartLive)); StopLiveCommand = new DelegateCommand(new Action(StopLive)); PauseLiveCommand = new DelegateCommand(new Action(PauseLive)); }