public static string Excluir(TRegistro_DespesasViagem val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_DespesasViagem qtb_desp = new TCD_DespesasViagem(); try { if (banco == null) { st_transacao = qtb_desp.CriarBanco_Dados(true); } else { qtb_desp.Banco_Dados = banco; } //Excluir duplicata TCN_Despesa_X_Duplicata.BuscarDup(val.Id_landespesastr, val.Cd_empresa, val.Id_viagemstr, qtb_desp.Banco_Dados).ForEach(p => { TCN_Despesa_X_Duplicata.Excluir(new TRegistro_Despesa_X_Duplicata() { Id_landespesa = val.Id_landespesa, Cd_empresa = val.Cd_empresa, Id_viagem = val.Id_viagem, Nr_lancto = p.Nr_lancto }, qtb_desp.Banco_Dados); CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.CancelarDuplicata(p, qtb_desp.Banco_Dados); }); //Excluir Centro Resultado TCN_DespViagem_X_CCusto.Buscar(val.Id_landespesastr, val.Id_viagemstr, val.Cd_empresa, string.Empty, qtb_desp.Banco_Dados).ForEach(p => { //Excluir Despesa x Centro Resultado TCN_DespViagem_X_CCusto.Excluir(p, qtb_desp.Banco_Dados); //Excluir Centro Resultado CamadaNegocio.Financeiro.CCustoLan.TCN_LanCCustoLancto.Excluir( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Id_ccustolan = p.Id_ccustolan }, qtb_desp.Banco_Dados); }); qtb_desp.Excluir(val); if (st_transacao) { qtb_desp.Banco_Dados.Commit_Tran(); } return(val.Id_landespesastr); } catch (Exception ex) { if (st_transacao) { qtb_desp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir despesa viagem: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_desp.deletarBanco_Dados(); } } }
public static void ProcessarDespCResultado(List <TRegistro_DespesasViagem> lDespesas, string CD_CentroResult, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_DespViagem_X_CCusto qtb_desp = new TCD_DespViagem_X_CCusto(); try { if (banco == null) { st_transacao = qtb_desp.CriarBanco_Dados(true); } else { qtb_desp.Banco_Dados = banco; } if (string.IsNullOrEmpty(CD_CentroResult)) { throw new Exception("Obrigatório informar centro de resultado."); } lDespesas.ForEach(p => { //Verificar se despesa possui centro de resultado TCN_DespViagem_X_CCusto.Buscar(p.Id_landespesastr, p.Id_viagemstr, p.Cd_empresa, string.Empty, qtb_desp.Banco_Dados).ForEach(v => { TCN_DespViagem_X_CCusto.Excluir(v, qtb_desp.Banco_Dados); CamadaNegocio.Financeiro.CCustoLan.TCN_LanCCustoLancto.Excluir( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Id_ccustolan = v.Id_ccustolan }, qtb_desp.Banco_Dados); }); //Gravar Lancto Resultado string id = CamadaNegocio.Financeiro.CCustoLan.TCN_LanCCustoLancto.Gravar( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Cd_empresa = p.Cd_empresa, Cd_centroresult = CD_CentroResult, Vl_lancto = p.Vl_subtotal, Dt_lancto = p.Dt_despesa }, qtb_desp.Banco_Dados); //Amarrar Lancto a Caixa Gravar(new TRegistro_DespViagem_X_CCusto() { Cd_empresa = p.Cd_empresa, Id_ccustolan = decimal.Parse(id), Id_landespesa = p.Id_landespesa, Id_viagem = p.Id_viagem }, qtb_desp.Banco_Dados); }); if (st_transacao) { qtb_desp.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_desp.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro processar despesas: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_desp.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_DespesasViagem val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_DespesasViagem qtb_des = new TCD_DespesasViagem(); try { if (banco == null) { st_transacao = qtb_des.CriarBanco_Dados(true); } else { qtb_des.Banco_Dados = banco; } val.Id_landespesastr = CamadaDados.TDataQuery.getPubVariavel(qtb_des.Gravar(val), "@P_ID_LANDESPESA"); if (val.rDup != null) { CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(val.rDup, false, qtb_des.Banco_Dados); TCN_Despesa_X_Duplicata.Gravar(new TRegistro_Despesa_X_Duplicata() { Id_landespesa = val.Id_landespesa, Cd_empresa = val.Cd_empresa, Id_viagem = val.Id_viagem, Nr_lancto = val.rDup.Nr_lancto }, qtb_des.Banco_Dados); } //Gravar Centro Resultado if (val.lCCusto != null) { val.lCCusto.ForEach(p => { p.Cd_empresa = val.Cd_empresa; CamadaNegocio.Financeiro.CCustoLan.TCN_LanCCustoLancto.Gravar(p, qtb_des.Banco_Dados); TCN_DespViagem_X_CCusto.Gravar(new TRegistro_DespViagem_X_CCusto() { Id_landespesa = val.Id_landespesa, Cd_empresa = val.Cd_empresa, Id_viagem = val.Id_viagem, Id_ccustolan = p.Id_ccustolan }, qtb_des.Banco_Dados); }); } if (st_transacao) { qtb_des.Banco_Dados.Commit_Tran(); } return(val.Id_landespesastr); } catch (Exception ex) { if (st_transacao) { qtb_des.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar despesa viagem: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_des.deletarBanco_Dados(); } } }