public static void Excluir(TList_AbastVeiculo val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_AbastVeiculo qtb_abast = new TCD_AbastVeiculo(); try { if (banco == null) { st_transacao = qtb_abast.CriarBanco_Dados(true); } else { qtb_abast.Banco_Dados = banco; } CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata lDup = new CamadaDados.Financeiro.Duplicata.TList_RegLanDuplicata(); val.ForEach(x => { TCN_Abast_X_Duplicata.BuscarDup(x.Id_abastecimentostr, qtb_abast.Banco_Dados) .ForEach(y => { //Excluir abast x duplicata TCN_Abast_X_Duplicata.Excluir(new TRegistro_Abast_X_Duplicata() { Id_abastecimento = x.Id_abastecimento, Cd_empresa = y.Cd_empresa, Nr_lancto = y.Nr_lancto }, qtb_abast.Banco_Dados); if (!lDup.Exists(w => w.Cd_empresa.Trim().Equals(y.Cd_empresa.Trim()) && w.Nr_lancto.Equals(y.Nr_lancto))) { lDup.Add(y); } }); qtb_abast.Excluir(x); }); lDup.ForEach(z => TCN_LanDuplicata.CancelarDuplicata(z, qtb_abast.Banco_Dados)); if (st_transacao) { qtb_abast.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_abast.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir abastecimento: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_abast.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_AbastVeiculo val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_AbastVeiculo qtb_abast = new TCD_AbastVeiculo(); try { if (banco == null) { st_transacao = qtb_abast.CriarBanco_Dados(true); } else { qtb_abast.Banco_Dados = banco; } //Verificar se abastecimento esta amarrado a abastecida TCN_Abastecidas.Buscar(string.Empty, string.Empty, val.Id_abastecimentostr, qtb_abast.Banco_Dados).ForEach(p => { p.Id_abastecimento = null; TCN_Abastecidas.Gravar(p, qtb_abast.Banco_Dados); }); //Verificar se abastecimento esta amarrado a financeiro TCN_Abast_X_Duplicata.BuscarDup(val.Id_abastecimentostr, qtb_abast.Banco_Dados).ForEach(p => { //Excluir abast x duplicata TCN_Abast_X_Duplicata.Excluir(new TRegistro_Abast_X_Duplicata() { Id_abastecimento = val.Id_abastecimento, Cd_empresa = p.Cd_empresa, Nr_lancto = p.Nr_lancto }, qtb_abast.Banco_Dados); //Cancelar duplicata CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.CancelarDuplicata(p, qtb_abast.Banco_Dados); }); TCN_AbastFrota_X_CCusto.Buscar(val.Id_abastecimentostr, string.Empty, qtb_abast.Banco_Dados).ForEach(p => { TCN_AbastFrota_X_CCusto.Excluir(p, qtb_abast.Banco_Dados); CamadaNegocio.Financeiro.CCustoLan.TCN_LanCCustoLancto.Excluir( new CamadaDados.Financeiro.CCustoLan.TRegistro_LanCCustoLancto() { Id_ccustolan = p.Id_ccustolan }, qtb_abast.Banco_Dados); }); //Excluir abastecimento qtb_abast.Excluir(val); //Cancelar estoque abastecimento proprio if (val.Id_lanctoestoque.HasValue) { CamadaNegocio.Estoque.TCN_LanEstoque.DeletarEstoque( new CamadaDados.Estoque.TRegistro_LanEstoque() { Cd_empresa = val.Cd_empresa, Cd_produto = val.Cd_produto, Id_lanctoestoque = val.Id_lanctoestoque.Value }, qtb_abast.Banco_Dados); } if (st_transacao) { qtb_abast.Banco_Dados.Commit_Tran(); } return(val.Id_abastecimentostr); } catch (Exception ex) { if (st_transacao) { qtb_abast.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir abastecimento: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_abast.deletarBanco_Dados(); } } }