public static string Excluir(TRegistro_LanMudanca val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanMudanca qtb_mud = new TCD_LanMudanca(); try { if (banco == null) { st_transacao = qtb_mud.CriarBanco_Dados(true); } else { qtb_mud.Banco_Dados = banco; } try { //Excluir qtb_mud.Excluir(val); } catch { //Cancelar val.St_registro = "3"; qtb_mud.Gravar(val); } //Verificar se Mudança possui Orçamento TList_Orcamento lOrcamento = new TCD_Orcamento(qtb_mud.Banco_Dados).Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.id_mudanca", vOperador = "=", vVL_Busca = val.Id_mudancastr }, new Utils.TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" } }, 0, string.Empty); lOrcamento.ForEach(p => { p.St_registro = "0"; p.Id_mudancastr = string.Empty; TCN_Orcamento.Gravar(p, qtb_mud.Banco_Dados); }); if (st_transacao) { qtb_mud.Banco_Dados.Commit_Tran(); } return(val.Id_mudancastr); } catch (Exception ex) { if (st_transacao) { qtb_mud.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir mudança: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mud.deletarBanco_Dados(); } } }
public static string Gravar(TRegistro_LanMudanca val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanMudanca qtb_mud = new TCD_LanMudanca(); try { if (banco == null) { st_transacao = qtb_mud.CriarBanco_Dados(true); } else { qtb_mud.Banco_Dados = banco; } val.Id_mudancastr = CamadaDados.TDataQuery.getPubVariavel(qtb_mud.Gravar(val), "@P_ID_MUDANCA"); //Excluir Itens Mudança val.lItensMudDel.ForEach(p => TCN_LanItensMud.Excluir(p, qtb_mud.Banco_Dados)); //Gravar Itens Mudança val.lItensMud.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mudanca = val.Id_mudanca; TCN_LanItensMud.Gravar(p, qtb_mud.Banco_Dados); }); //Excluir Serviços Mudança val.lServicosMudDel.ForEach(p => TCN_LanServicosMud.Excluir(p, qtb_mud.Banco_Dados)); //Gravar Serviços Mudança val.lServicosMud.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mudanca = val.Id_mudanca; TCN_LanServicosMud.Gravar(p, qtb_mud.Banco_Dados); }); //Excluir Parcelas Mudança val.lParcelasMudDel.ForEach(p => TCN_ParcelasMud.Excluir(p, qtb_mud.Banco_Dados)); //Gravar Parcelas Mudança val.lParcelasMud.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mudanca = val.Id_mudanca; TCN_ParcelasMud.Gravar(p, qtb_mud.Banco_Dados); }); //Excluir Material Mudança val.lMaterialMudDel.ForEach(p => TCN_MaterialMud.Excluir(p, qtb_mud.Banco_Dados)); //Gravar Material Mudança val.lMaterialMud.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mudanca = val.Id_mudanca; TCN_MaterialMud.Gravar(p, qtb_mud.Banco_Dados); }); //Excluir Ajudantes Mudança val.lAjudantesMudDel.ForEach(p => TCN_AjudantesMud.Excluir(p, qtb_mud.Banco_Dados)); //Gravar Ajudantes Mudança val.lAjudantesMud.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_mudanca = val.Id_mudanca; TCN_AjudantesMud.Gravar(p, qtb_mud.Banco_Dados); }); //Gravar Orcamento val.lOrcamento.ForEach(p => { p.Id_mudancastr = val.Id_mudancastr; p.St_registro = "1"; TCN_Orcamento.Gravar(p, qtb_mud.Banco_Dados); TCN_LanMudanca.AprovarMudanca(val, qtb_mud.Banco_Dados); }); if (st_transacao) { qtb_mud.Banco_Dados.Commit_Tran(); } return(val.Id_mudancastr); } catch (Exception ex) { if (st_transacao) { qtb_mud.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar mudança: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mud.deletarBanco_Dados(); } } }