Beispiel #1
0
        public Aluno_pgto AssinaturaTratarRetorno(PreApprovalTransaction transaction)
        {
            Aluno_pgto ap = new Aluno_pgtoDB().Buscar(Convert.ToInt32(transaction.Reference.Replace("AP", "")));

            if (ap != null)
            {
                ap.CompletaCampos();
                //salva o code no Aluno_MedTV
                ap.obs = transaction.Code;
                ap.txt = AssinaturaMsg(transaction.Status);

                DateTime dateTime = DateTime.UtcNow;
                dateTime = dateTime.AddSeconds(-dateTime.Second);
                if (dateTime.Minute % 2 != 0)
                {
                    dateTime = dateTime.AddMinutes(1);
                }

                if (!new Aluno_pgto_NotificacaoDB().Existe(ap, dateTime))
                {
                    new Aluno_pgto_Notificacao(ap, dateTime, transaction.Status, ap.txt).Salvar();
                }

                //ACTIVE
                if (transaction.Status == "ACTIVE")
                {
                    if (ap.situacao != 2)
                    {
                        ap.Ativar();
                    }
                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "Cenbrap Assinatura ativada",
                        texto   = "Aluno: " + ap.aluno.nome + "(" + ap.aluno.cpf + ")<BR>Curso: " + ap.curso.titulo + "<BR>Msg: " + ap.txt,
                        para    = emailNotificacaoAtivado
                    });

                    //LancaEntrada(am.aluno);
                }
                //CANCELLED ou CANCELLED_BY_RECEIVER ou CANCELLED_BY_SENDER ou EXPIRED
                if (transaction.Status == "CANCELLED" || transaction.Status == "CANCELLED_BY_RECEIVER" || transaction.Status == "CANCELLED_BY_SENDER" || transaction.Status == "EXPIRED")
                {
                    if (ap.situacao == 2)
                    {
                        ap.Desativar();
                    }

                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "Cenbrap Assinatura cancelada",
                        texto   = "Aluno: " + ap.aluno.nome + "(" + ap.aluno.cpf + ")<BR>Curso: " + ap.curso.titulo + "<BR>Msg: " + ap.txt,
                        para    = emailNotificacaoPagamento
                    });
                }
                ap.Alterar();
            }
            return(ap);
        }
Beispiel #2
0
        public Aluno_pgto TratarRetorno(Transaction transaction)
        {
            Aluno_pgto ap = new Aluno_pgtoDB().Buscar(Convert.ToInt32(transaction.Reference.Replace("AP", "")));

            int status = transaction.TransactionStatus;

            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.Initiated)
            //    status = 0;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.WaitingPayment)
            //    status = 1;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.InAnalysis)
            //    status = 2;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.Paid)
            //    status = 3;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.Available)
            //    status = 4;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.InDispute)
            //    status = 5;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.Refunded)
            //    status = 6;
            //if (transaction.TransactionStatus == Uol.PagSeguro.Enums.TransactionStatus.Cancelled)
            //    status = 7;

            Aluno_pgto_Transacao apt = new Aluno_pgto_TransacaoDB().Buscar(ap, transaction.Code, status);

            if (apt == null)
            {
                apt = new Aluno_pgto_Transacao()
                {
                    aluno_pgto = ap,
                    code       = transaction.Code,
                    data       = DateTime.Now,
                    status     = status
                };
                apt.Salvar();
            }

            if (ap != null)
            {
                ap.aluno = new AlunoDB().Buscar(ap.aluno.codigo);
                //salva o code no Aluno_MedTV

                //msg do status
                apt.msg = TransacaoMsg(status);

                //3	Paga
                if (transaction.TransactionStatus == 3)
                {
                    //se não estiver ativo, ativa o usuário
                    if (ap.situacao != 2)
                    {
                        ap.Ativar();
                    }
                }
                //4 Disponivel
                if (transaction.TransactionStatus == 4)
                {
                    LancaEntrada(ap.aluno, ap.curso, apt.data);
                }
                //5   Em disputa
                if (transaction.TransactionStatus == 5)
                {
                    //se estiver ativo, desativa o usuário
                    if (ap.situacao == 2)
                    {
                        ap.Desativar();
                    }
                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "Cenbrap alterações de pagamento",
                        texto   = "Alterações no pagamento.<BR>Aluno: " + ap.aluno.nome + "(" + ap.aluno.cpf + ")<BR>Msg: " + apt.msg,
                        para    = emailNotificacaoPagamento
                    });
                }

                apt.data = DateTime.Now;
                apt.Alterar();
            }
            return(ap);
        }