public static string Gravar(TRegistro_Sessao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_Sessao qtb_sessao = new TCD_Sessao(); try { if (banco == null) { st_transacao = qtb_sessao.CriarBanco_Dados(true); } else { qtb_sessao.Banco_Dados = banco; } //Gravar sessao val.Id_sessaostr = CamadaDados.TDataQuery.getPubVariavel(qtb_sessao.Gravar(val), "@P_ID_SESSAO"); if (st_transacao) { qtb_sessao.Banco_Dados.Commit_Tran(); } return(val.Id_sessaostr); } catch (Exception ex) { if (st_transacao) { qtb_sessao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar sessão: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_sessao.deletarBanco_Dados(); } } }