예제 #1
0
        public IActionResult GerarCampeonato(IEnumerable <Filme> filmes)
        {
            try
            {
                var resultado = _campeonatoService.GerarCampeonato(filmes);

                return(Ok(new { Primeiro = resultado.Keys.Single(), Segundo = resultado.Values.Single() }));
            }
            catch (FilmesInvalidosException e)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, $"Erro ao gerar campeonato: {e.Message}"));
            }
            catch (QuantidadeInvalidaException e)
            {
                return(StatusCode(StatusCodes.Status400BadRequest, $"Erro ao gerar campeonato: {e.Message}"));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"Erro ao gerar campeonato: {e.Message}"));
            }
        }
예제 #2
0
        public async Task <ActionResult> Campeonato()
        {
            try
            {
                var campeonato = await _service.GerarCampeonato();

                var partidas          = campeonato.Partidas;
                var partidasVideModel = _mapper.Map <List <PartidaEntity>, List <PartidaViewModel> >(partidas);

                var result = new CampeonatoViewModel();
                result.Partidas = partidasVideModel;
                result.campeao  = campeonato.Campeao.Nome;
                result.vice     = campeonato.Vice.Nome;
                result.terceiro = campeonato.Terceiro.Nome;

                return(Ok(result));
            }
            catch (ArgumentException e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message));
            }
        }
예제 #3
0
 public ResultadoCampeonatoDTO Post([FromBody] IList <string> idsFilmes)
 {
     return(_campeonatoService.GerarCampeonato(idsFilmes));
 }