public bool AdicionaCargoModalParaDB(int iTreinamentoID)
    {
        Banco.Conexao            conexao = new Banco.Conexao();
        Treinamentos.Treinamento trei    = new Treinamentos.Treinamento();

        TreinamentoAlvoDB dB       = new TreinamentoAlvoDB();
        bool bRetorno              = true;
        List <TreinamentoAlvo> aux = dB.Carrega(conexao, "#TreinamentoID = " + iTreinamentoID.ToString());

        foreach (TreinamentoAlvo item in aux)
        {
            bRetorno = dB.Inclui(conexao, item);
            if (!bRetorno)
            {
                break;
            }
        }
        return(bRetorno);
    }
    protected void AdicionaTreinamentoModalBD()
    {
        bool bEdita     = false;
        bool bResultado = false;

        if (!string.IsNullOrWhiteSpace(hfId.Value))
        {
            bEdita = true;
        }

        Banco.Conexao conexao = new Banco.Conexao();
        conexao.AbreConexao();
        TreinamentoDB     dB       = new TreinamentoDB();
        TreinamentoAlvoDB tcargoDb = new TreinamentoAlvoDB();

        Treinamentos.Treinamento trei = new Treinamentos.Treinamento();

        if (bEdita)//se bEdita True ele altera as informações editadas
        {
            trei.TreinamentoID = int.Parse(hfId.Value);
        }

        trei.Codigo       = txtCodigo.Texto;
        trei.Titulo       = txtTitulo.Texto;
        trei.DataInicial  = Funcoes.Funcoes.TextoemData(txtDataInicial.SData);
        trei.DataFinal    = Funcoes.Funcoes.TextoemData(txtDataFinal.SData);
        trei.LinkVideo    = txtLinkVideo.Texto;
        trei.Orientador   = psOrientador.Texto;
        trei.Instrutor    = psInstrutor.Texto;
        trei.Prazo        = int.Parse(txtPrazo.Texto);
        trei.CargaHoraria = txtCargaHoraria.Texto;
        trei.FormularioID = int.Parse(dpFormulario.SelectedValue);
        string caminhoArquivo = hdCaminho.Value.ToString();


        if (!string.IsNullOrEmpty(hdCaminho.Value.ToString()))
        {
            FileUpload upload = new FileUpload();

            upload.SaveAs(Constantes.Ambiente.CaminhoSite + "temp\\" + caminhoArquivo);

            Avaliacao.Anexo.AdicionaDocumento(trei.TreinamentoID.ToString(), Server.MapPath("../temp/" + caminhoArquivo));
        }

        conexao.IniciaTransacao();
        if (bEdita)
        {
            bResultado = dB.Altera(conexao, trei);

            bResultado = tcargoDb.ExcluiPeloTreinamento(conexao, trei.TreinamentoID);
        }
        else//se bEdita for false ele começa o processo para gravar novas informações no DB.
        {
            bResultado = dB.Inclui(conexao, trei);
        }

        if (bResultado)
        {
            DataTable oDt = ViewState["listaTreinamentos"] as DataTable;
            foreach (DataRow row in oDt.Rows)
            {
                TreinamentoAlvo tc = new TreinamentoAlvo();
                tc.TreinamentoID = trei.TreinamentoID;
                tc.Cargo         = row["CARGO"].ToString();
                tc.Lotacao       = row["LOTACAO"].ToString();
                tc.Estab         = row["ESTAB"].ToString();
                bResultado       = tcargoDb.Inclui(conexao, tc);
                if (!bResultado)
                {
                    break;
                }
            }
            if (!string.IsNullOrEmpty(hdCaminho.Value.ToString()))
            {
                FileUpload upload = new FileUpload();



                upload.SaveAs(Constantes.Ambiente.CaminhoSite + "temp\\" + caminhoArquivo);

                Avaliacao.Anexo.AdicionaDocumento(trei.TreinamentoID.ToString(), Server.MapPath("../temp/" + caminhoArquivo));


                //lblChecklist.Text = "Arquivo salvo com sucesso." + ArquivoUpLoad;
            }
        }

        //adicionar condicional se bResultado for true grava se bResultado for false mostra mensagem de erro entre cabeçario e campo código, e mantém campos preenchidos.
        if (bResultado)
        {
            conexao.TerminaTransacao();
            MsgConfirma.Texto = "Registro salvo com sucesso.";
            MsgConfirma.Exibir();
            CarregaGrid();
            HabilitaDiv(false);
            LimpaCamposModal();
        }
        else
        {
            conexao.DesfazTransacao();
            msgModalConfirmacaoErro.Texto = "Não foi possivel salvar registro.";
            msgModalConfirmacaoErro.Exibir();
            CarregaGrid();
            HabilitaDiv(false);
            LimpaCamposModal();
        }

        conexao.FechaConexao();
    }