Example #1
0
        public IActionResult Post([FromBody] FilmeTemp fTemp)
        {
            Filmes filmes = new Filmes();

            if (fTemp.Nome.Length <= 1)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new{ msg = "O filme tem que ter um nome válido!" }));
            }
            if (fTemp.Idioma.Length <= 1)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new{ msg = "O filme tem que ter um idioma!" }));
            }
            if (fTemp.Duracao <= 1)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new{ msg = "O filme tem que ter uma duração em minutos!" }));
            }
            if (fTemp.DataLancamento.Length <= 1)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new{ msg = "O filme tem que ter uma data de Lançamento (ano)!" }));
            }
            if (fTemp.AtoresFilmesId == null)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new{ msg = "O filme tem que ter pelo menos um ator principal cadastrado!" }));
            }
            if (fTemp.FilmesGenerosId == null)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new{ msg = "O filme tem que ter pelo menos um gênero cadastrado!" }));
            }
            filmes.Nome           = fTemp.Nome;
            filmes.Duracao        = fTemp.Duracao;
            filmes.Idioma         = fTemp.Idioma;
            filmes.DataLancamento = fTemp.DataLancamento;
            filmes.Disponivel     = true;



            database.Filmes.Add(filmes);
            database.SaveChanges();



            var filmeId = database.Filmes.Where(f => f.Nome == filmes.Nome).First(a => a.Id == filmes.Id);

            foreach (var atorFilmeId in fTemp.AtoresFilmesId)
            {
                AtoresFilmes atoresFilmes1 = new AtoresFilmes();
                atoresFilmes1.AtoresId = atorFilmeId;
                atoresFilmes1.FilmesId = filmeId.Id;

                database.AtoresFilmes.Add(atoresFilmes1);
                database.SaveChanges();
            }
            ;


            foreach (var filmeGeneroId in fTemp.FilmesGenerosId)
            {
                FilmesGeneros generoFilmes1 = new FilmesGeneros();
                generoFilmes1.GeneroId = filmeGeneroId;
                generoFilmes1.FilmesId = filmeId.Id;

                database.FilmesGeneros.Add(generoFilmes1);
                database.SaveChanges();
            }
            ;



            Response.StatusCode = 201;
            return(new ObjectResult(new{ msg = "Filme incluído com sucesso!" }));
        }
Example #2
0
        public IActionResult Editar([FromBody] FilmeTemp filme)
        {
            if (filme.Id > 0)
            {
                try{
                    var f = database.Filmes.Include(g => g.FilmesGeneros).Include(a => a.AtoresFilmes).First(ftemp => ftemp.Id == filme.Id);


                    if (f != null)
                    {
                        f.Nome           = filme.Nome != null ? filme.Nome : f.Nome;
                        f.Duracao        = filme.Duracao != 0 ? filme.Duracao : f.Duracao;
                        f.Idioma         = filme.Idioma != null ? filme.Idioma : f.Idioma;
                        f.DataLancamento = filme.DataLancamento != null ? filme.DataLancamento : f.DataLancamento;


                        if (filme.Nome.Length <= 1)
                        {
                            Response.StatusCode = 400;
                            return(new ObjectResult(new{ msg = "Nome inválido ou vazio, tente outro nome!" }));
                        }
                        else
                        {
                            database.SaveChanges();
                        }
                        if (filme.Duracao <= 0)
                        {
                            Response.StatusCode = 400;
                            return(new ObjectResult(new{ msg = "Duração inválida ou vazio!" }));
                        }
                        else
                        {
                            database.SaveChanges();
                        }
                        if (filme.Idioma.Length <= 1)
                        {
                            Response.StatusCode = 400;
                            return(new ObjectResult(new{ msg = "Idioma inválido ou vazio!" }));
                        }
                        else
                        {
                            database.SaveChanges();
                        }
                        if (filme.DataLancamento.Length < 4)
                        {
                            Response.StatusCode = 400;
                            return(new ObjectResult(new{ msg = "Data de lançamento inválido ou vazio, coloque um ano válido! Exemplo: 1980" }));
                        }
                        else
                        {
                            database.SaveChanges();
                        }
                        if (f.AtoresFilmes != null)
                        {
                            var atores = database.AtoresFilmes.Where(f => f.FilmesId == filme.Id);
                            database.AtoresFilmes.RemoveRange(atores);
                            database.SaveChanges();

                            var AtoresFilmesTemp = database.AtoresFilmes.ToList();
                            foreach (var atorFilmeId in filme.AtoresFilmesId)
                            {
                                AtoresFilmes atoresFilmes1 = new AtoresFilmes();
                                atoresFilmes1.FilmesId = f.Id;
                                atoresFilmes1.AtoresId = atorFilmeId;

                                database.AtoresFilmes.Add(atoresFilmes1);
                                database.SaveChanges();
                            }
                            ;
                        }
                        if (f.FilmesGeneros != null)
                        {
                            var generos = database.FilmesGeneros.Where(f => f.FilmesId == filme.Id);
                            database.FilmesGeneros.RemoveRange(generos);
                            database.SaveChanges();

                            var GeneroFilmesTemp = database.FilmesGeneros.ToList();
                            foreach (var generoFilmeId in filme.FilmesGenerosId)
                            {
                                FilmesGeneros generoFilmes1 = new FilmesGeneros();
                                generoFilmes1.FilmesId = f.Id;
                                generoFilmes1.GeneroId = generoFilmeId;

                                database.FilmesGeneros.Add(generoFilmes1);
                                database.SaveChanges();
                            }
                            ;
                        }
                    }



                    return(Ok());
                }

                catch {
                    Response.StatusCode = 404;
                    return(new ObjectResult(new{ msg = "Id Ator / Filme inválido, ou já inserido anteriormente" }));
                }
            }
            else
            {
                Response.StatusCode = 404;
                return(new ObjectResult(new{ msg = "Id inválido" }));
            }
        }