/// <summary>
        /// Editar Filme.
        /// </summary>
        /// <param name="filme">Filme a ser Editado.</param>
        public void Editar(Filme filme)
        {
            var novoFilme = BuscarPorId(filme.FilmeId);

            novoFilme.Descricao = filme.Descricao;


            if (filme.Generos.Count > 0)
            {
                if (novoFilme.Generos == null)
                {
                    novoFilme.Generos = new List <Genero>();
                }

                foreach (var item in filme.Generos)
                {
                    var generos = _generoDAO.BuscarPorId(item.GeneroId);
                    novoFilme.Generos.Add(generos);
                }
            }

            if (filme.Idiomas.Count > 0)
            {
                if (novoFilme.Idiomas == null)
                {
                    novoFilme.Idiomas = new List <Idioma>();
                }

                foreach (var item in filme.Idiomas)
                {
                    var idiomas = _idiomaDAO.BuscarPorId(item.IdiomaId);
                    novoFilme.Idiomas.Add(idiomas);
                }
            }

            ValidaFilme(filme);

            _filmeDAO.Editar(novoFilme);
            filme = novoFilme;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Editar Filme.
        /// </summary>
        /// <param name="filme">Filme a ser Editado.</param>
        public void Editar(Filme filme)
        {
            using (SqlConnection objConexao = new SqlConnection(ContextFilme.strConexao))
            {
                using (SqlCommand objCommand = new SqlCommand())
                {
                    ValidaFilme(filme);

                    objConexao.Open();

                    var filmedoBanco = BuscarPorId(filme.FilmeId);
                    filmedoBanco.Descricao = filme.Descricao;

                    var listaNomedosFilmesCadastrados = _nomedoFilmeDAO.BuscarporIdFilme(objCommand, objConexao, filme.FilmeId);
                    var listaGenerosFilmesCadastrados = _filmeGeneroDAO.BuscarporIdFilme(objCommand, objConexao, filme.FilmeId);
                    var listaIdiomasFilmesCadastrados = _filmeIdiomaDAO.BuscarporIdFilme(objCommand, objConexao, filme.FilmeId);

                    foreach (var item in filme.Nomes)
                    {
                        if (item.NomedoFilmeId == 0)
                        {
                            _nomedoFilmeDAO.Salvar(objCommand, objConexao, item);
                        }
                    }

                    foreach (var item in filme.Generos)
                    {
                        if (listaGenerosFilmesCadastrados.Count(x => x == item.GeneroId) == 0)
                        {
                            _filmeGeneroDAO.Salvar(objCommand, objConexao, filme.FilmeId, item.GeneroId);
                        }
                    }

                    foreach (var item in filme.Idiomas)
                    {
                        if (listaIdiomasFilmesCadastrados.Count(x => x == item.IdiomaId) == 0)
                        {
                            _filmeIdiomaDAO.Salvar(objCommand, objConexao, filme.FilmeId, item.IdiomaId);
                        }
                    }

                    ValidaFilme(filme);

                    _filmeDAO.Editar(objCommand, objConexao, filmedoBanco);

                    objConexao.Close();
                }
            }
        }