public Aluno_MedTV AssinaturaTratarRetorno(PreApprovalTransaction transaction) { Aluno_MedTV am = new Aluno_MedTVDB().Buscar(Convert.ToInt32(transaction.Reference)); if (am != null) { am.aluno = new AlunoDB().Buscar(am.aluno.codigo); //salva o code no Aluno_MedTV am.codePagseguro = transaction.Code; am.msgPagseguro = AssinaturaMsg(transaction.Status); DateTime dateTime = DateTime.UtcNow; dateTime = dateTime.AddSeconds(-dateTime.Second); if (dateTime.Minute % 2 != 0) { dateTime = dateTime.AddMinutes(1); } if (!new Aluno_MedTV_NotificacaoDB().Existe(am, dateTime)) { new Aluno_MedTV_Notificacao(am, dateTime, transaction.Status, am.msgPagseguro).Salvar(); } //ACTIVE if (transaction.Status == "ACTIVE") { if (!am.ativo) { am.Ativar(); } new Envio_emailDB().Salvar(new Envio_email() { data = DateTime.Now, assunto = "MedTV Assinatura ativada", texto = "Aluno: " + am.aluno.nome + "(" + am.aluno.cpf + ")<BR>Msg: " + am.msgPagseguro, 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 (am.ativo) { am.Desativar(); } new Envio_emailDB().Salvar(new Envio_email() { data = DateTime.Now, assunto = "MedTV Assinatura cancelada", texto = "Aluno: " + am.aluno.nome + "(" + am.aluno.cpf + ")<BR>Msg: " + am.msgPagseguro, para = emailNotificacaoPagamento }); } am.Alterar(); } return(am); }
public Aluno_MedTV TratarRetorno(Transaction transaction) { Aluno_MedTV am = new Aluno_MedTVDB().Buscar(Convert.ToInt32(transaction.Reference)); 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_MedTV_Transacao amt = new Aluno_MedTV_TransacaoDB().Buscar(am, transaction.Code, status); if (amt == null) { amt = new Aluno_MedTV_Transacao() { aluno_medTV_id = am, code = transaction.Code, data = DateTime.Now, status = status }; amt.Salvar(); } if (am != null) { am.aluno = new AlunoDB().Buscar(am.aluno.codigo); //salva o code no Aluno_MedTV //msg do status amt.msg = TransacaoMsg(status); //3 Paga if (transaction.TransactionStatus == 3) { //se não estiver ativo, ativa o usuário if (!am.ativo) { am.Ativar(); } } //4 Disponivel if (transaction.TransactionStatus == 4) { LancaEntrada(am.aluno, amt.data); } //5 Em disputa if (transaction.TransactionStatus == 5) { //se estiver ativo, desativa o usuário if (am.ativo) { am.Desativar(); } new Envio_emailDB().Salvar(new Envio_email() { data = DateTime.Now, assunto = "MedTV alterações de pagamento", texto = "Alterações no pagamento.<BR>Aluno: " + am.aluno.nome + "(" + am.aluno.cpf + ")<BR>Msg: " + amt.msg, para = emailNotificacaoPagamento }); } amt.data = DateTime.Now; amt.Alterar(); } return(am); }