public IActionResult StartTournament(int id)
        {
            var tournament    = _tournamentRepository.GetTournamentById(id);
            var tournamentDto = _mapper.Map <TournamentReadDto>(tournament);
            var usersDto      = _mapper.Map <List <UserReadDto> >(_userRepository.GetUsersByTournament(id));
            var byeUser       = _mapper.Map <UserReadDto>(_userRepository.GetByePlayer());

            TournamentCourse tournamentCourse = new TournamentCourse(usersDto, tournamentDto, byeUser);

            var matches = tournamentCourse.GetMatchesInCurrentRound()
                          .Select(match => _mapper.Map <Match>(match)).ToList();

            for (int i = 0; i < matches.Count; i++)
            {
                matches[i].Tournament = tournament;
                _repository.DetachLocal(matches[i], matches[i].Id);
                _repository.SaveMatch(matches[i]);
                _repository.SaveChanges();
                tournamentCourse.UpdateIds(i, matches[i].Id);
            }

            return(View("/Views/CourseTournament/CourseTournament.cshtml", tournamentCourse));
        }