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); }
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); }