async void MainWindow_KeyDown(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Space: case Key.Next: { _viewModel.StartNextMode(); break; } case Key.Escape: case Key.B: { _viewModel.Restart(); while (Canvas.Children.Count > 0) { Canvas.Children.Remove(Canvas.Children[0]); } break; } case Key.Enter: case Key.PageUp: { if (_viewModel?.SelectedTile != null) { _viewModel.SaveWinnerDetails(_viewModel.SelectedTile, true); } break; } case Key.F5: { Hide(); // Ask user for an event id var dlg = new RequestEventIdDialog(); if (dlg.ShowDialog() != true) { return; } await _eventValidator.InitAsync(dlg.EventId); if (!_eventValidator.IsEventDateToday()) { if (MessageBox.Show("This event isn't for today. Are you sure you have the correct event id?", "Event not today", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No) { return; } } Canvas.Children.RemoveRange(0, Canvas.Children.Count); _viewModel.BeginUpdate(dlg.EventId); Close(); break; } } }
async void MainWindow_KeyDown(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Space: case Key.Next: { _viewModel.StartNextMode(); break; } case Key.Escape: case Key.B: { if (_viewModel?.SelectedTile != null) { _viewModel.SelectedTile.IsNoShow = true; } _viewModel?.Restart(); while (Canvas.Children.Count > 0) { Canvas.Children.Remove(Canvas.Children[0]); } break; } case Key.Enter: case Key.PageUp: { if (_viewModel?.SelectedTile != null) { _viewModel.SelectedTile.IsWinner = true; // Set the winner image _viewModel.SaveWinnerDetails(_viewModel.SelectedTile, true); } _viewModel?.Restart(); while (Canvas.Children.Count > 0) { Canvas.Children.Remove(Canvas.Children[0]); } break; } case Key.F5: { Hide(); // Ask user for an event id var requestEventIdViewModel = new RequestEventIdDialogViewModel(); if (new RequestEventIdDialog(requestEventIdViewModel).ShowDialog() != true) { return; } switch (requestEventIdViewModel.EventType) { case EventType.Meetup: await _eventValidator.InitAsync(requestEventIdViewModel.EventId); if (!_eventValidator.IsEventDateToday()) { if (MessageBox.Show("This event isn't for today. Are you sure you have the correct event id?", "Event not today", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No) { return; } } // Meetup is an offline update done before the event. This BeginUpdate will pull from Meetup and // write to the file system, then require a relaunch. Canvas.Children.RemoveRange(0, Canvas.Children.Count); _viewModel.BeginUpdate(requestEventIdViewModel.EventId); Close(); break; case EventType.Zoom: Canvas.Children.RemoveRange(0, Canvas.Children.Count); _viewModel.PopulateTiles(await _tileProviderFactory.CreateZoomTileProvider(requestEventIdViewModel.EventId) .GetTilesAsync()); InitialiseGrid(); Show(); break; } break; } } }