Exemplo n.º 1
0
        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());
        }
Exemplo n.º 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());
        }