示例#1
0
        public static void ReabrirMDFeProcessar(TRegistro_Lote_X_MDFe val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_Lote_X_MDFe qtb_nfe      = new TCD_Lote_X_MDFe();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_nfe.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_nfe.Banco_Dados = banco;
                }
                qtb_nfe.Excluir(val);
                //Verificar se existe mais alguma MDF-e amarrada ao lote
                object obj = qtb_nfe.BuscarEscalar(
                    new Utils.TpBusca[]
                {
                    new Utils.TpBusca()
                    {
                        vNM_Campo = "a.id_lote",
                        vOperador = "=",
                        vVL_Busca = val.Id_lote.ToString()
                    }
                }, "1");
                if (obj == null)
                {
                    TCN_LoteMDFe.Excluir(new TRegistro_LoteMDFe()
                    {
                        Cd_empresa = val.Cd_empresa,
                        Id_lote    = val.Id_lote
                    }, qtb_nfe.Banco_Dados);
                }
                if (st_transacao)
                {
                    qtb_nfe.Banco_Dados.Commit_Tran();
                }
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_nfe.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro reabrir MDF-e processar: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_nfe.deletarBanco_Dados();
                }
            }
        }
示例#2
0
        public static string Excluir(TRegistro_Lote_X_MDFe val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_Lote_X_MDFe qtb_lote     = new TCD_Lote_X_MDFe();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_lote.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_lote.Banco_Dados = banco;
                }
                qtb_lote.Excluir(val);
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_lote.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir registro: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_lote.deletarBanco_Dados();
                }
            }
        }