private void GravarAutores(int id_obra)
        {
            ObrasAutoresBL obAutBL = new ObrasAutoresBL();
            ObrasAutores obAut = new ObrasAutores();

            if (Session["dtAutores"] != null)
                dtAutores = (DataTable)Session["dtAutores"];

            foreach (DataRow linha in dtAutores.Rows)
            {
                obAut.Id = utils.ComparaIntComZero(linha["ID"].ToString());
                obAut.AutoresId = utils.ComparaIntComZero(linha["AUTORESID"].ToString());
                obAut.ObraId = id_obra;

                if (obAut.Id > 0)
                    obAutBL.EditarBL(obAut);
                else
                    obAutBL.InserirBL(obAut);
            }
        }
        private void CarregarDadosAutores(int id_obra)
        {
            ObrasAutoresBL obAutBL = new ObrasAutoresBL();
            List<ObrasAutores> obAut = obAutBL.PesquisarBL(id_obra);

            foreach (ObrasAutores ltObAut in obAut)
            {
                DataRow linha = dtAutores.NewRow();

                linha["ID"] = ltObAut.Id;
                linha["CODIGO"] = ltObAut.CodAutor;
                linha["AUTORESID"] = ltObAut.AutoresId;
                linha["DESCRICAO"] = ltObAut.Autor;
                linha["TIPO"] = ltObAut.TipoAutor;
                linha["OBRAID"] = ltObAut.ObraId;

                dtAutores.Rows.Add(linha);
            }

            dtbPesquisa = dtAutores;
            Session["dtAutores"] = dtAutores;
            dtgAutores.DataSource = dtAutores;
            dtgAutores.DataBind();
        }
        private void ExcluirAutores()
        {
            ObrasAutoresBL obAutBL = new ObrasAutoresBL();
            ObrasAutores obAut = new ObrasAutores();

            if (Session["tbexcluidos"] != null)
            {
                dtExcluidos = (DataTable)Session["tbexcluidos"];
                foreach (DataRow row in dtExcluidos.Rows)
                {
                    switch (row["TIPO"].ToString().ToUpper())
                    {
                        case "A":
                            {
                                obAut.Id = utils.ComparaIntComZero(row["IDCODIGO"].ToString());
                                obAutBL.ExcluirBL(obAut);
                                break;
                            }
                    }
                }
            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            ObrasBL obraBL = new ObrasBL();
            Obras obras = new Obras();
            ObrasAutoresBL obAutBL = new ObrasAutoresBL();
            obras.Id = utils.ComparaIntComZero(hfId.Value);
            obras.Codigo = utils.ComparaIntComZero(lblCodigo.Text);
            obras.Titulo = txtTitulo.Text;
            obras.NroEdicao = utils.ComparaIntComNull(txtNroEdicao.Text);
            obras.EditoraId = utils.ComparaIntComNull(ddlEditora.SelectedValue);
            obras.NroPaginas = utils.ComparaIntComNull(txtNroPags.Text);
            obras.Volume = utils.ComparaIntComNull(txtVolume.Text);
            obras.Isbn = txtISBN.Text;
            obras.AssuntosAborda = txtAssuntosAborda.Text;
            obras.DataPublicacao = utils.ComparaDataComNull(txtDataPublicacao.Text);
            obras.DataReimpressao = utils.ComparaDataComNull(txtDataReimpressao.Text);
            obras.TiposObraId = utils.ComparaIntComNull(ddlTipoObra.SelectedValue);
            obras.LocalPublicacao = txtLocalPublic.Text;
            obras.Cdu = txtCdu.Text;

            if (obras.Id > 0)
            {

                if (obraBL.EditarBL(obras))
                {
                    ExcluirAutores();
                    GravarAutores(obras.Id);
                    ExibirMensagem("Obra atualizada com sucesso !");
                }
            }
            else
            {
                int id_obra;
                id_obra = obraBL.InserirBL(obras);
                if (id_obra > 0)
                {
                    ExcluirAutores();
                    GravarAutores(id_obra);
                    ExibirMensagem("Obra gravada com sucesso !");
                    LimparCampos();
                    txtTitulo.Focus();
                }
                else
                    ExibirMensagem("Não foi possível gravar a obra. Revise as informações.");

            }
        }