public BonusScoringRoundMasterViewModel()
        {
            CurrentBonusRoundIndex    = 0;
            CurrentScorecardViewModel = new BonusRoundScorecardViewModel();

            NextScorecardCommand     = new RelayCommand(OnNextScorecard, NextScorecardExists);
            PreviousScorecardCommand = new RelayCommand(OnPrevScorecard, PrevScorecardExists);
            CancelAndReturnCommand   = new RelayCommand(OnCancel);
            SaveAndReturnCommand     = new RelayCommand(OnSaveAndReturn);
        }
 private void OnPrevScorecard()
 {
     CurrentScorecardViewModel.OnSaveChanges();
     CurrentScorecardViewModel.NextScorerRequested -= HandleNextScorecardRequest;
     CurrentScorecardViewModel = new BonusRoundScorecardViewModel();
     CurrentScorer             = _gs.ActiveScorers[_gs.ActiveScorers.IndexOf(CurrentScorer) - 1];
     CurrentScorecardViewModel.SetRoundAndScorer(new RoundScoringParams(_gs, CurrentBonusRoundIndex), CurrentScorer);
     CurrentScorecardViewModel.NextScorerRequested += HandleNextScorecardRequest;
     NextScorecardCommand.RaiseCanExecuteChanged();
     PreviousScorecardCommand.RaiseCanExecuteChanged();
 }