Пример #1
0
        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}"));
            }
        }
Пример #2
0
        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);
        }