Beispiel #1
0
        public bool AtualizarFilme(Filme filme, string novoTitulo)
        {
            filme.AtualizarTitulo(novoTitulo);

            var sucess = _filmeRepository.AtualizarFilme(filme);

            return(sucess != null);
        }
Beispiel #2
0
        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());
        }