/// <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; }
/// <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(); } } }