Пример #1
0
        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();
                }
            }
        }
Пример #2
0
        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();
                }
            }
        }