Example #1
0
 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));
        }