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!" })); }
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" })); } }