public async Task <ActionResult <FinalistasView> > EnviarFilmesCompetidoresAsync([FromBody] IEnumerable <string> idfilmesEnviados) { try { if (!this.ValidarFilmesEnviados(idfilmesEnviados, out string mensagemErro)) { return(BadRequest(mensagemErro)); } var filmesSelecionados = await this.ObterInformacoesFilmes(idfilmesEnviados); if (filmesSelecionados.Count() != 8) { return(BadRequest("A lista deve possuir 8 filmes validos")); } var competicao = new Competicao(filmesSelecionados); var resultado = competicao.RealizarCompeticao(); return(Ok(new FinalistasView(resultado.Campeao, resultado.ViceCampeao))); } catch (System.Exception ex) { this._logger?.LogInformation($"Ocorreu um erro no envio dos filmes. Detalhes: {ex.Message.ToString()}"); return(StatusCode(500, $"Ocorreu um erro no envio dos filmes. Detalhes: {ex.Message}")); } }
public void RealizarCompeticao_ListaCom8Itens_ViceCampeao() { var filmes = new List <Filme>(8); filmes.Add(new Filme("1", "Os Incríveis 2", 2000, 8.5M)); filmes.Add(new Filme("2", "Jurassic World: Reino Ameaçado", 2000, 6.7M)); filmes.Add(new Filme("3", "Oito Mulheres e um Segredo", 2000, 6.3M)); filmes.Add(new Filme("4", "Hereditário", 2000, 7.8M)); filmes.Add(new Filme("5", "Vingadores: Guerra Infinita", 2000, 8.8M)); filmes.Add(new Filme("6", "Deadpool 2", 2000, 8.1M)); filmes.Add(new Filme("7", "Han Solo: Uma História Star Wars", 2000, 7.2M)); filmes.Add(new Filme("8", "Thor: Ragnarok", 2000, 7.9M)); var competicao = new Competicao(filmes); var resultado = competicao.RealizarCompeticao(); Assert.Equal("Os Incríveis 2", resultado.ViceCampeao.Titulo); }