public IActionResult Index()
        {
            try
            {
                filmesParticipantes = new FilmesParticipantes();

                List <Filme> listaFilmes = _filmeRepository.ListarFilmes();

                if (listaFilmes != null && listaFilmes.Any())
                {
                    int index = 0;

                    listaFilmes = RemoverDuplicados(listaFilmes);

                    filmesParticipantes.TotalGeralFilmes = listaFilmes.Count;

                    filmesParticipantes.FilmesA = ObterFilmesPorGrupo(listaFilmes, index);
                    index += filmesParticipantes.FilmesA.Count;
                    filmesParticipantes.FilmesB = ObterFilmesPorGrupo(listaFilmes, index);
                    index += filmesParticipantes.FilmesB.Count;
                    filmesParticipantes.FilmesC = ObterFilmesPorGrupo(listaFilmes, index);
                    index += filmesParticipantes.FilmesC.Count;
                    filmesParticipantes.FilmesD = ObterFilmesPorGrupo(listaFilmes, index);
                }

                return(View(filmesParticipantes));
            }
            catch (Exception)
            {
                filmesParticipantes.Message = "Não foi possível exibir a lista de filmes. Por favor, tente mais tarde!";
                return(View(filmesParticipantes));
            }
        }
        public IActionResult Index(FilmesParticipantes filmes)
        {
            try
            {
                filmesParticipantes.Message = null;

                if (filmes != null && filmes.FilmesA.Any())
                {
                    List <Filme> filmesSelecionados = ObterFilmesSelecionados(filmes.FilmesA, filmes.FilmesB, filmes.FilmesC, filmes.FilmesD);

                    filmes.TotalGeralFilmes = filmesParticipantes.TotalGeralFilmes;
                    filmesParticipantes     = filmes;
                    filmesParticipantes.TotalFilmeSelecionados = filmesSelecionados.Count;

                    if (filmesSelecionados.Count == Constantes.QTD_FILMES_CAMPEONATO)
                    {
                        Resultado resultado = ObterResultadoCampeonato(filmesSelecionados);

                        if (resultado != null && resultado.IdPodioPrimeiro != null)
                        {
                            ViewBag.resultado = JsonConvert.SerializeObject(resultado);
                        }
                        else
                        {
                            filmesParticipantes.Message = "Não foi possível exibir gerar o campeonato.Por favor, tente mais tarde!";
                        }
                    }
                    else
                    {
                        filmesParticipantes.Message = "Para gerar campeonato é necessário selecionar 16 filmes.";
                    }
                }
                else
                {
                    filmesParticipantes.Message = "Para gerar campeonato é necessário selecionar 16 filmes.";
                }

                return(View(filmesParticipantes));
            }
            catch (Exception)
            {
                filmesParticipantes.Message = "Não foi possível exibir gerar o campeonato. Por favor, tente mais tarde!";

                return(View(filmesParticipantes));
            }
        }