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}")); } }
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)); } }
public ResultadoCampeonatoDTO Post([FromBody] IList <string> idsFilmes) { return(_campeonatoService.GerarCampeonato(idsFilmes)); }