Example #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();
                }
            }
        }