public PlayerViewModel(IFootballRepository footballRepository, IPlayerMatchViewModel playerMatchViewModel, IPlayerValidatorService playerValidatorService)
 {
     _footballRepository = footballRepository;
     _playerMatchViewModel = playerMatchViewModel;
     _players = GetAllPlayers();
     _playerValidatorService = playerValidatorService;
     _playerValidatorService.Players = _players;
     _canExecute = true;
     EventManager<object>.RegisterEvent("UpdateButtonClicked", UpdateButtonClickHandler);
 }
 public MatchViewModel()
 {
     _footballRepository = new FootballRepository(new FootballEntities());
     _playerMatchViewModel = new PlayerMatchViewModel(_footballRepository);
     _dialogService = new DialogService();
     _playerValidatorService = new PlayerValidatorService(_dialogService);
     _matchValidatorService = new MatchValidatorService(_playerMatchViewModel, _dialogService);
     _mailerService = new MailerService(_playerMatchViewModel, _playerMatchViewModel.PlayerMatches, _teams);
     ButtonViewModel = new ButtonViewModel(_footballRepository, _playerMatchViewModel, _matchValidatorService, _mailerService);
     PlayerViewModel = new PlayerViewModel(_footballRepository, _playerMatchViewModel, _playerValidatorService);
     MatchButtonViewModel = new MatchButtonViewModel(_footballRepository, this, new DialogSelectionService());
     InitialiseMatchesAndTeams();
     _selectionAlgorithms = InitialiseSelectionAlgorithms();
     _selectedAlgorithm = _selectionAlgorithms.First();
     ButtonViewModel.SelectedAlgorithm = _selectedAlgorithm;
 }