public static string Gravar(TRegistro_LanLoteCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanLoteCartao qtb_orc = new TCD_LanLoteCartao(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } string retorno = qtb_orc.Gravar(val); val.Id_Lote = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_LOTE")); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } val.lCartao.ForEach(p => { p.Cd_Empresa = val.Cd_Empresa; p.Id_Lote = val.Id_Lote; TCN_FaturaDescontar.Gravar(p, null); }); return(val.Id_Lote.ToString()); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar Lote: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_LanLoteCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanLoteCartao qtb_orc = new TCD_LanLoteCartao(); try { if (banco == null) { st_transacao = qtb_orc.CriarBanco_Dados(true); } else { qtb_orc.Banco_Dados = banco; } val.lCartao.ForEach(p => { TCN_FaturaDescontar.Excluir(p, qtb_orc.Banco_Dados); }); qtb_orc.Excluir(val); if (st_transacao) { qtb_orc.Banco_Dados.Commit_Tran(); } return(val.Id_Lote.ToString()); } catch (Exception ex) { if (st_transacao) { qtb_orc.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir projeto: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_orc.deletarBanco_Dados(); } } }
public static void EstornarLote(TRegistro_LanLoteCartao val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanLoteCartao qtb_lote = new TCD_LanLoteCartao(); try { if (banco == null) { st_transacao = qtb_lote.CriarBanco_Dados(true); } else { qtb_lote.Banco_Dados = banco; } //Inicio do processo de estornar lote if (val.St_registro.Equals("P")) { //Excluir registro Lote X Caixa val.lFatCartao_Caixa.ForEach(p => { TCN_FaturaCartao_X_Caixa.Excluir(new TRegistro_FaturaCartao_X_Caixa() { Cd_contager = p.Cd_contager, Cd_lanctocaixa = p.Cd_lanctocaixa, Id_fatura = p.Id_fatura }, qtb_lote.Banco_Dados); }); //Chamar metodo estorno de caixa val.lLanCaixa.ForEach(p => { Caixa.TCN_LanCaixa.EstornarCaixa(p, null, qtb_lote.Banco_Dados); }); //Alterar o valor da taxa no bloquetos val.lFatCartao.ForEach(p => { p.Vl_taxa = decimal.Zero; TCN_FaturaCartao.Gravar(p, null); }); //Alterar o lote val.St_registro = "A"; qtb_lote.Gravar(val); if (st_transacao) { qtb_lote.Banco_Dados.Commit_Tran(); } } else { throw new Exception("Lote não se encontra processado."); } } catch (Exception ex) { if (st_transacao) { qtb_lote.Banco_Dados.RollBack_Tran(); } throw new Exception(ex.Message); } finally { if (st_transacao) { qtb_lote.deletarBanco_Dados(); } } }