Example #1
0
        public Filme Final()
        {
            var finalistas = SegundaEtapa();

            var filmesSevice = new FilmesService();

            var vencedor = filmesSevice.GetWinnerFirstAndSecond(finalistas);

            return(vencedor);
        }
Example #2
0
        public IHttpActionResult FilmeAleatorio([FromBody] List <Categoria> categorias)
        {
            try
            {
                Random       rnd          = new Random();
                List <Filme> filmesFinais = new List <Filme>();

                if (categorias.Count > 0)
                {
                    CategoriasService service = new CategoriasService();
                    var listaCategoriasFilme  = service.ListarPorCategoria(categorias, out string categoriasString);
                    listaCategoriasFilme.Select(x => x.Filmes).ForEach(z => z.ForEach(x => filmesFinais.Add(x)));
                }
                else
                {
                    FilmesService filmesService = new FilmesService();
                    filmesFinais = filmesService.Listar();
                }

                filmesFinais = filmesFinais.Where(filme => !filme.Assistido).ToList();

                if (filmesFinais.Count <= 0)
                {
                    return(Ok(new
                    {
                        data = new Filme(),
                        success = false,
                        message = "Não encontramos nenhum filme com os critérios informados."
                    }));
                }

                int indiceFilme = rnd.Next(0, filmesFinais.Count - 1);
                var filmeRandom = filmesFinais.ElementAt(indiceFilme);

                var response = new
                {
                    data    = filmeRandom,
                    message = "Filme aleatório selecionado.",
                    success = true
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #3
0
        public IHttpActionResult Avaliar([FromBody] Filme filme)
        {
            try
            {
                FilmesService service = new FilmesService();
                service.DarNotaFilme(filme.Id, filme.Nota);

                return(Ok(new DefaultResponse <Filme>
                {
                    data = new List <Filme>(),
                    message = $"Foi atribuida ao filme {filme.Nome} a nota {filme.Nota}.",
                    success = true
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #4
0
        public IHttpActionResult Assistir([FromBody] Filme filme)
        {
            try
            {
                FilmesService service = new FilmesService();
                service.AssistirFilme(filme);

                return(Ok(new DefaultResponse <Filme>
                {
                    data = new List <Filme>(),
                    message = "Filme marcado como assistido.",
                    success = true
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #5
0
        public IHttpActionResult CadastroFilme([FromBody] Filme filme)
        {
            try
            {
                FilmesService service = new FilmesService();
                var           objCtx  = service.Cadastrar(filme);

                return(Ok(new
                {
                    data = objCtx,
                    message = "Filme incluído com sucesso.",
                    success = true
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #6
0
        public IHttpActionResult CadastroFilmeMultiplos([FromBody] List <Filme> filmes)
        {
            try
            {
                FilmesService service = new FilmesService();

                filmes.ForEach(x => service.Cadastrar(x));

                return(Ok(new
                {
                    data = new List <Filme>(),
                    message = "Filmes incluídos com sucesso.",
                    success = true
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #7
0
        public IHttpActionResult Listar()
        {
            try
            {
                FilmesService service     = new FilmesService();
                var           listaFilmes = service.Listar().OrderBy(x => x.Nome).ThenByDescending(x => x.DtAdicionado).ToList();

                var response = new DefaultResponse <Filme>
                {
                    data    = listaFilmes,
                    message = listaFilmes.Count > 0 ? "Filmes encontrados." : "Filmes não foram encontrados.",
                    success = true
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #8
0
        public List <Filme> SegundaEtapa()
        {
            var semiFinalistas = PrimeiraEtapa();

            var filmesSevice = new FilmesService();


            foreach (var filme in semiFinalistas)
            {
                var primeiroESegundo = filmesSevice.GetFirstAndSecond(semiFinalistas);

                var vencedorChave = filmesSevice.GetWinnerFirstAndSecond(primeiroESegundo);

                semiFinalistas.Add(vencedorChave);

                filmesSevice.RemoveFirstAndSecond(semiFinalistas);
            }


            return(semiFinalistas);
        }
Example #9
0
        public IHttpActionResult RemoverFilme([FromBody] Filme filme)
        {
            try
            {
                FilmesService service = new FilmesService();

                var filmeCtx = service.GetFilme(filme);

                service.RemoverFilme(filmeCtx);

                return(Ok(new
                {
                    data = filmeCtx,
                    message = "Filme removido com sucesso.",
                    success = true
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #10
0
        public IHttpActionResult ListarAssistido([FromUri] bool assistido = false)
        {
            try
            {
                FilmesService service         = new FilmesService();
                var           listaFilmes     = service.ListarFilmes(assistido).OrderBy(x => x.Nome).ThenByDescending(x => x.DtAdicionado).ToList();
                var           assistidoString = assistido ? "assistidos" : "não assistidos";

                var response = new DefaultResponse <Filme>
                {
                    data    = listaFilmes,
                    message = listaFilmes.Count > 0 ? $"Filmes {assistidoString} encontrados." : $"Filmes {assistidoString} não foram encontrados.",
                    success = true
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #11
0
        //  [Route("{id}/get")]


        public List <Filme> PrimeiraEtapa()
        {
            var filmesService = new FilmesService();

            var todosOsFilmes = filmesService.GetFilmes();

            var filmesVencedores = new List <Filme>();



            foreach (var filme in todosOsFilmes)
            {
                var primeiroEUltimo = filmesService.GetLastAndFirst(todosOsFilmes);

                var vencedorChave = filmesService.GetWinnerLastAndFirst(primeiroEUltimo);

                filmesVencedores.Add(vencedorChave);

                filmesService.RemoveLastAndFirst(todosOsFilmes);
            }

            return(filmesVencedores);
        }
Example #12
0
 public FilmeController(FilmesService service)
 {
     _service = service;
 }