public ActionResult Create([FromBody] FilmeRequest filmeRequest) { var filme = RequestParser.ConvertFilme(filmeRequest); var filmeId = filmeRepository.CriarFilme(filme); if (filme.Atores != null) { for (int i = 0; i < filme.Atores.Count; i++) { var atorId = filme.Atores[i].Id; var ator = atorRepository.DetalharAtor(atorId); if (ator == null) { return(BadRequest($"Invalid ator id {atorId}")); } filmeAtorRepository.CreateOrUpdateFilmeAtor(filmeId, atorId.ToString()); } } if (filme.Genero != null) { var generoId = filme.Genero.Id; var genero = generoRepository.DetalharGenero(generoId); if (genero == null) { return(BadRequest($"Invalid genero id {generoId}")); } filmeGeneroRepository.CreateOrUpdateFilmeGenero(filmeId, filme.Id.ToString());; } return(NoContent()); }
public ActionResult Edit(string id, [FromBody] FilmeRequest filmeRequest) { if (filmeRepository.DetalharFilme(Convert.ToInt32(id)) == null) { return(NotFound($"Filme not found")); } if (filmeRequest.Atores != null) { var atores = atorRepository.ListarAtores().ToList(); for (int i = 0; i < filmeRequest.Atores.Count; i++) { var ator = filmeRequest.Atores[i]; if (atores.Exists(x => x.Id.ToString() == ator)) { return(BadRequest($"Invalid ator id {ator}")); } } } if (string.IsNullOrEmpty(filmeRequest.Genero)) { var genero = generoRepository.DetalharGenero(Convert.ToInt32(filmeRequest.Genero)); if (genero == null) { return(BadRequest($"Invalid genero id {filmeRequest.Genero}")); } } var filme = RequestParser.ConvertFilme(filmeRequest, id); filmeRepository.AtualizarFilme(filme); for (int i = 0; i < filme.Atores.Count; i++) { var atorId = filme.Atores[i].Id; filmeAtorRepository.CreateOrUpdateFilmeAtor(filme.Id.ToString(), atorId.ToString()); } if (filme.Genero != null) { var generoId = filme.Genero.Id; filmeGeneroRepository.CreateOrUpdateFilmeGenero(filme.Id.ToString(), filme.Id.ToString()); } return(NoContent()); }