public DadosComplementaresViewModel RecuperarDadosComplementares()
        {
            var times              = _timeRepo.EntidadePesquisavel().ToList();
            var campeonatos        = _campRepo.EntidadePesquisavel().ToList();
            var detalhesCampeonato = _detalheRepo.EntidadePesquisavel().ToList();

            var result = new DadosComplementaresViewModel();

            var melhorGolsContra = RecuperarMelhorMediaGolsContra();

            result.MelhorMediaDeGolsContra = new KeyValuePair <string, int>(times.Where(x => x.Id == melhorGolsContra.Key).FirstOrDefault().NomeNormalizado,
                                                                            melhorGolsContra.Value);

            var melhorGolsPro = RecuperarMelhorMediaGolsPro();

            result.MelhorMediaDeGolsPro = new KeyValuePair <string, int>(times.Where(x => x.Id == melhorGolsPro.Key).FirstOrDefault().NomeNormalizado,
                                                                         melhorGolsPro.Value);

            var timeComMaisVitorias = RecuperarTimeComMaisVitorias();

            result.MaiorNumeroVitorias = new KeyValuePair <string, int>(times.Where(x => x.Id == timeComMaisVitorias.Key).FirstOrDefault().NomeNormalizado,
                                                                        timeComMaisVitorias.Value);

            var timeComMenosVitorias = RecuperarTimeComMenosVitorias();

            result.MenorNumeroVitorias = new KeyValuePair <string, int>(times.Where(x => x.Id == timeComMenosVitorias.Key).FirstOrDefault().NomeNormalizado,
                                                                        timeComMenosVitorias.Value);
            var melhorMediaVitoriasPorCampeonato = RecuperarMelhorMediaVitoriaPorCampeonato(detalhesCampeonato);

            foreach (var camp in melhorMediaVitoriasPorCampeonato)
            {
                result.MelhorMediaVitoriasPorCampeonato.Add(new ResultadoPorCampeonatoViewModel()
                {
                    Ano      = campeonatos.Where(x => x.Id == camp.Item1).FirstOrDefault().Ano,
                    NomeTime = times.Where(x => x.Id == camp.Item2).FirstOrDefault().NomeNormalizado,
                    Valor    = camp.Item3
                });
            }

            var menorMediaVitoriasPorCampeonato = RecuperarMenorMediaVitoriaPorCampeonato(detalhesCampeonato);

            foreach (var camp in menorMediaVitoriasPorCampeonato)
            {
                result.MenorMediaVitoriasPorCampeonato.Add(new ResultadoPorCampeonatoViewModel()
                {
                    Ano      = campeonatos.Where(x => x.Id == camp.Item1).FirstOrDefault().Ano,
                    NomeTime = times.Where(x => x.Id == camp.Item2).FirstOrDefault().NomeNormalizado,
                    Valor    = camp.Item3
                });
            }

            return(result);
        }