public MainWindow() { InitializeComponent(); currentUser = new User(Properties.Settings.Default.UserId, null); panopticonPercentage = 0; panopticonState = Stage2UI.PanopticonState.PROCESSING; toDownload = 0; downloaded = 0; Stage2Control.AnnotationMade += new Stage2UI.AnnotationMadeEventHandler(Stage2Control_AnnotationMade); Stage2Control.ResearchQuestionSubmitted += new Stage2UI.ResearchQuestionSubmittedEventHandler(Stage2Control_ResearchQuestionSubmitted); Loaded += new RoutedEventHandler(MainWindow_Loaded); }
private void DownloadData() { panopticonState = Stage2UI.PanopticonState.DOWNLOADING; panopticonPercentage = 0; UpdatePanopticonState(); UpdatePanopticonPercentage(); BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandler((s, e) => { videoFile = proxy.GetVideoFilename(); panopticonFile = proxy.GetPanopticonFilename(); panopticonInfo = proxy.GetPanopticonInfo(); presses = proxy.GetPresses(); length = proxy.GetStudyLength(); toDownload = proxy.GetVideoSize() + proxy.GetPanopticonSize(); downloaded = 0; Thread t1 = new Thread(() => { if (!File.Exists(videoFile)) { Stream videoStream = fileProxy.DownloadVideo(); DownloadFile(videoStream, videoFile); } }); Thread t2 = new Thread(() => { if (!File.Exists(panopticonFile)) { Stream panopticonStream = fileProxy.DownloadPanopticonVideo(); DownloadFile(panopticonStream, panopticonFile); } }); t1.Start(); t2.Start(); t1.Join(); t2.Join(); panopticonState = Stage2UI.PanopticonState.READY; UpdatePanopticonState(); }); worker.RunWorkerAsync(); }