Ejemplo n.º 1
0
        public static string ProcessarContratoFin(TRegistro_ContratoFin val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_ContratoFin qtb_contr    = new TCD_ContratoFin();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_contr.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_contr.Banco_Dados = banco;
                }
                //Gravar Duplicata
                if (val.Nr_lancto == null && val.lDup.Count > 0)
                {
                    CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.GravarDuplicata(val.lDup, false, qtb_contr.Banco_Dados);
                    val.Nr_lancto = val.lDup[0].Nr_lancto;
                    TCN_ContratoFin.Gravar(val, qtb_contr.Banco_Dados);
                    val.lParc.ForEach(p =>
                    {
                        p.St_registro = "P";
                        p.Cd_empresa  = val.Cd_empresa;
                        p.NR_Contrato = val.NR_Contrato;
                        CamadaNegocio.Financeiro.Contrato.TCN_ParcelaContrato.Gravar(p, qtb_contr.Banco_Dados);
                    });
                }
                if (st_transacao)
                {
                    qtb_contr.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_contr.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro Gravar registro: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_contr.deletarBanco_Dados();
                }
            }
        }
Ejemplo n.º 2
0
        public static string EstornarProcessamento(TRegistro_ContratoFin val, BancoDados.TObjetoBanco banco)
        {
            bool            st_transacao = false;
            TCD_ContratoFin qtb_contr    = new TCD_ContratoFin();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_contr.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_contr.Banco_Dados = banco;
                }
                //Excluir duplicata
                //Verificar se usuario tem permissão para excluir duplicata
                if (Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin.Trim().ToUpper(), "PERMITIR EXCLUSAO DE DOCUMENTO FINANCEIRO", banco))
                {
                    //Verificar se o usuario tem acesso a tela de duplicata
                    if ((CamadaNegocio.Diversos.TCN_CadAcesso.BuscarDetalhesAcesso(Utils.Parametros.pubLogin, "Financeiro.TFLanContas") == null) &&
                        (!Utils.Parametros.pubLogin.Trim().ToUpper().Equals("MASTER")) &&
                        (!Utils.Parametros.pubLogin.Trim().ToUpper().Equals("DESENV")))
                    {
                        throw new Exception("Não é permitido estornar contrato com movimentação financeira.\r\n" +
                                            "Para estornar contrato é necessário cancelar primeiro o financeiro.");
                    }
                    else
                    {
                        val.Nr_lancto = null;
                        TCN_ContratoFin.Gravar(val, qtb_contr.Banco_Dados);
                        val.lParc.ForEach(p =>
                        {
                            //Alterar Parcelas para Aberta
                            p.St_registro = "A";
                            TCN_ParcelaContrato.Gravar(p, qtb_contr.Banco_Dados);
                        });
                        //Cancelar Duplicata
                        val.lDup.ForEach(v => CamadaNegocio.Financeiro.Duplicata.TCN_LanDuplicata.CancelarDuplicata(v, qtb_contr.Banco_Dados));
                    }
                }
                else
                {
                    throw new Exception("Usuário não tem permissão para cancelar Duplicata!");
                }
                if (st_transacao)
                {
                    qtb_contr.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_contr.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro Gravar registro: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_contr.deletarBanco_Dados();
                }
            }
        }