public static void Encerrar(TRegistro_MDFe val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_MDFe qtb_mdfe = new TCD_MDFe(); try { if (banco == null) { st_transacao = qtb_mdfe.CriarBanco_Dados(true); } else { qtb_mdfe.Banco_Dados = banco; } val.St_registro = "E"; qtb_mdfe.Gravar(val); if (st_transacao) { qtb_mdfe.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_mdfe.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro encerrar MDFe: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mdfe.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_MDFe val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_MDFe qtb_mdfe = new TCD_MDFe(); try { if (banco == null) { st_transacao = qtb_mdfe.CriarBanco_Dados(true); } else { qtb_mdfe.Banco_Dados = banco; } val.Id_mdfestr = CamadaDados.TDataQuery.getPubVariavel(qtb_mdfe.Gravar(val), "@P_ID_MDFE"); //Buscar numero MDFe val.Nr_mdfestr = qtb_mdfe.BuscarEscalar(new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_mdfe", vOperador = "=", vVL_Busca = val.Id_mdfestr } }, "a.nr_mdfe").ToString(); //Veiculos val.lVeicDel.ForEach(p => TCN_MDFe_Veiculo.Excluir(p, qtb_mdfe.Banco_Dados)); val.lVeic.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mdfe = val.Id_mdfe; TCN_MDFe_Veiculo.Gravar(p, qtb_mdfe.Banco_Dados); }); //Motoristas val.lMotDel.ForEach(p => TCN_MDFe_Motorista.Excluir(p, qtb_mdfe.Banco_Dados)); val.lMot.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mdfe = val.Id_mdfe; TCN_MDFe_Motorista.Gravar(p, qtb_mdfe.Banco_Dados); }); //Municipios Carregamento val.lMunCarDel.ForEach(p => TCN_MDFe_MunCarrega.Excluir(p, qtb_mdfe.Banco_Dados)); val.lMunCar.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mdfe = val.Id_mdfe; TCN_MDFe_MunCarrega.Gravar(p, qtb_mdfe.Banco_Dados); }); //UF Percurso val.lUfPercDel.ForEach(p => TCN_MDFe_UfPercurso.Excluir(p, qtb_mdfe.Banco_Dados)); val.lUfPerc.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mdfe = val.Id_mdfe; TCN_MDFe_UfPercurso.Gravar(p, qtb_mdfe.Banco_Dados); }); //Documentos val.lDocDel.ForEach(p => TCN_MDFe_Documentos.Excluir(p, qtb_mdfe.Banco_Dados)); val.lDoc.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mdfe = val.Id_mdfe; TCN_MDFe_Documentos.Gravar(p, qtb_mdfe.Banco_Dados); }); //Seguro val.lSeguroDel.ForEach(p => TCN_MDFe_Seguro.Excluir(p, qtb_mdfe.Banco_Dados)); val.lSeguro.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mdfe = val.Id_mdfe; TCN_MDFe_Seguro.Gravar(p, qtb_mdfe.Banco_Dados); }); if (st_transacao) { qtb_mdfe.Banco_Dados.Commit_Tran(); } return(val.Id_mdfestr); } catch (Exception ex) { if (st_transacao) { qtb_mdfe.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar MDF-e: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mdfe.deletarBanco_Dados(); } } }