コード例 #1
0
        public static string Excluir(TRegistro_LoteRPS val, BancoDados.TObjetoBanco banco)
        {
            bool        st_transacao = false;
            TCD_LoteRPS qtb_lote     = new TCD_LoteRPS();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                val.lMsgRPS.ForEach(p => TCN_MsgRetornoRPS.Excluir(p, qtb_lote.Banco_Dados));
                val.lNfes.ForEach(p => TCN_LoteRPS_X_NFES.Excluir(
                                      new TRegistro_LoteRPS_X_NFES()
                {
                    Id_lote         = val.Id_lote,
                    Cd_empresa      = p.Cd_empresa,
                    Nr_lanctofiscal = p.Nr_lanctofiscal
                }, qtb_lote.Banco_Dados));
                qtb_lote.Excluir(val);
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.Commit_Tran();
                }
                return(val.Id_lotestr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir lote RPS: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }