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