Пример #1
0
        public static string Excluir(TRegistro_Orcamento val, BancoDados.TObjetoBanco banco)
        {
            bool          st_transacao = false;
            TCD_Orcamento qtb_orc      = new TCD_Orcamento();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                //Excluir itens
                val.lItens.ForEach(p => TCN_Orcamento_X_Itens.Excluir(p, qtb_orc.Banco_Dados));
                val.lItensDel.ForEach(p => TCN_Orcamento_X_Itens.Excluir(p, qtb_orc.Banco_Dados));
                //Excluir encaixotamento
                val.lEnc.ForEach(p => TCN_Encaixotamento.Excluir(p, qtb_orc.Banco_Dados));
                val.lEncDel.ForEach(p => TCN_Encaixotamento.Excluir(p, qtb_orc.Banco_Dados));
                qtb_orc.Excluir(val);
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.Id_orcamentostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir orçamento: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }
Пример #2
0
        public static string Gravar(TRegistro_Orcamento val, BancoDados.TObjetoBanco banco)
        {
            bool          st_transacao = false;
            TCD_Orcamento qtb_orc      = new TCD_Orcamento();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_orc.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_orc.Banco_Dados = banco;
                }
                val.Id_orcamentostr = CamadaDados.TDataQuery.getPubVariavel(qtb_orc.Gravar(val), "@P_ID_ORCAMENTO");
                //Excluir itens
                if (val.lItensDel != null)
                {
                    val.lItensDel.ForEach(p => TCN_Orcamento_X_Itens.Excluir(p, qtb_orc.Banco_Dados));
                }
                //Gravar itens
                if (val.lItens != null)
                {
                    val.lItens.ForEach(p =>
                    {
                        p.Cd_empresa   = val.Cd_empresa;
                        p.Id_orcamento = val.Id_orcamento;
                        TCN_Orcamento_X_Itens.Gravar(p, qtb_orc.Banco_Dados);
                    });
                }
                //Excluir encaixotamento
                if (val.lEncDel != null)
                {
                    val.lEncDel.ForEach(p => TCN_Encaixotamento.Excluir(p, qtb_orc.Banco_Dados));
                }
                //Gravar encaixotamento
                if (val.lEnc != null)
                {
                    val.lEnc.ForEach(p =>
                    {
                        p.Cd_empresa   = val.Cd_empresa;
                        p.Id_orcamento = val.Id_orcamento;
                        TCN_Encaixotamento.Gravar(p, qtb_orc.Banco_Dados);
                    });
                }

                if (val.lSerDel != null)
                {
                    val.lSerDel.ForEach(p => TCN_ServicoOrc.Excluir(p, qtb_orc.Banco_Dados));
                }

                if (val.lSer != null)
                {
                    val.lSer.ForEach(p =>
                    {
                        p.Cd_empresa   = val.Cd_empresa;
                        p.Id_orcamento = val.Id_orcamento;
                        TCN_ServicoOrc.Gravar(p, qtb_orc.Banco_Dados);
                    });
                }

                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.Commit_Tran();
                }
                return(val.Id_orcamentostr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_orc.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar orçamento: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_orc.deletarBanco_Dados();
                }
            }
        }