Ejemplo n.º 1
0
        public static string DeletarContrato(TRegistro_CadContrato val, TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_CadContrato qtb_Contrato = new TCD_CadContrato();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_Contrato.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_Contrato.Banco_Dados = banco;
                }
                //Deletar Contrato Headge
                val.lContrato_Headge.ForEach(p => TCN_CadContrato_Headge.DeletarContrato_Headge(p, qtb_Contrato.Banco_Dados));
                val.lDelContrato_Headge.ForEach(p => TCN_CadContrato_Headge.DeletarContrato_Headge(p, qtb_Contrato.Banco_Dados));

                //Deletar Taxa
                val.Taxas.ForEach(p => TCN_CadContratoTaxaDeposito.DeletarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados));
                val.DelTaxas.ForEach(p => TCN_CadContratoTaxaDeposito.DeletarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados));

                //Deletar desdobro especial
                val.lDesdobro.ForEach(p => TCN_Contrato_X_DesdEspecial.Excluir(p, qtb_Contrato.Banco_Dados));
                val.lDesdobroDel.ForEach(p => TCN_Contrato_X_DesdEspecial.Excluir(p, qtb_Contrato.Banco_Dados));

                //Cancelar lancamento estoque embalagem
                val.lEstoqueEmbalagem.ForEach(p => CamadaNegocio.Estoque.TCN_LanEstoque.DeletarEstoque(
                                                  p, qtb_Contrato.Banco_Dados));

                //Excluir contrato
                qtb_Contrato.Excluir(val);
                if (st_transacao)
                {
                    qtb_Contrato.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_Contrato.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro excluir contrato: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_Contrato.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 2
0
        public static string GravarContrato(TRegistro_CadContrato val, TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_CadContrato qtb_Contrato = new TCD_CadContrato();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_Contrato.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_Contrato.Banco_Dados = banco;
                }

                string retorno = qtb_Contrato.Gravar(val);
                val.Nr_contrato = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_NR_CONTRATO"));
                //Deletar Contrato Headge
                val.lDelContrato_Headge.ForEach(p => TCN_CadContrato_Headge.DeletarContrato_Headge(p, qtb_Contrato.Banco_Dados));
                //Gravar Contrato Headge
                val.lContrato_Headge.ForEach(p =>
                {
                    p.Nr_Contrato = val.Nr_contrato.Value;
                    TCN_CadContrato_Headge.GravarContrato_Headge(p, qtb_Contrato.Banco_Dados);
                });

                //Deletar Taxa
                val.DelTaxas.ForEach(p => TCN_CadContratoTaxaDeposito.DeletarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados));
                //Gravar Taxa
                val.Taxas.ForEach(p =>
                {
                    p.Nr_contrato = val.Nr_contrato;
                    TCN_CadContratoTaxaDeposito.GravarContratoTaxaDeposito(p, qtb_Contrato.Banco_Dados);
                });
                //Excluir Desdobro Especial
                val.lDesdobroDel.ForEach(p => TCN_Contrato_X_DesdEspecial.Excluir(p, qtb_Contrato.Banco_Dados));
                //Gravar Desdobro Especial
                val.lDesdobro.ForEach(p =>
                {
                    p.Nr_contrato = val.Nr_contrato;
                    TCN_Contrato_X_DesdEspecial.Gravar(p, qtb_Contrato.Banco_Dados);
                });
                if (st_transacao)
                {
                    qtb_Contrato.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_Contrato.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar contrato: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_Contrato.deletarBanco_Dados();
                }
            }
        }