Exemple #1
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);
        }
Exemple #2
0
        public Retorno Incluir(Curso curso, Aluno aluno, int forma_pgto = 3, bool enviar = true, string cupom = "", bool pagImprimirBoleto = false)
        {
            Retorno retorno = new Retorno();

            Aluno_cursoDB db = new Aluno_cursoDB();

            int qtd = db.Qtd(curso);

            if (qtd > curso.total_alunos)
            {
                retorno.erro     = true;
                retorno.mensagem = "Todas as vagas foram preenchidas.";
            }
            else
            {
                Aluno_curso ac = new Aluno_curso();
                ac = db.Buscar(curso, aluno);
                if (ac == null)
                {
                    ac = new Aluno_curso()
                    {
                        aluno  = aluno,
                        curso  = curso,
                        adesao = DateTime.Now
                    };
                    ac.Salvar();
                }

                bool possuiCupom = false;

                if (cupom.Length >= 6)
                {
                    CupomDesconto cd = new CupomDescontoDB().Buscar(cupom);
                    if (cd != null)
                    {
                        possuiCupom = true;
                        CupomDesconto_utilizacao cdu = new CupomDesconto_utilizacao(0, cd, aluno, DateTime.Now, curso.codigo);
                        cdu.Salvar();
                    }
                }

                //verifica se tem data limite e se tiver, pega o valor da matricula1
                if (curso.data_limite1 > Convert.ToDateTime("01/01/2000"))
                {
                    if (curso.data_limite1 >= DateTime.Now)
                    {
                        curso.matricula = curso.matricula1;
                    }
                }

                //Verifica se é para adicionar a primeira mensalidade
                if (curso.pgto_1parcela == 1)
                {
                    curso.matricula += curso.valor / curso.qtd_parcelas;
                }

                if (curso.matricula == 0)
                {
                    curso.matricula = curso.valor;
                }

                //se for jornada e assinante MEDTV
                string url = HttpContext.Current.Request.Url.AbsoluteUri;
                if ((url.IndexOf("psiquiatriaocupacional") > -1) || (url.IndexOf("congressomedicina") > -1))
                {
                    //verifica se tem cupom de desconto
                    if (possuiCupom && DateTime.Now <= Convert.ToDateTime("25/06/2018"))
                    {
                        curso.matricula = 770;
                    }

                    if (new Aluno_MedTVDB().Ativo(aluno))
                    {
                        curso.matricula  = Convert.ToDecimal(Convert.ToDouble(curso.matricula) * 0.95);
                        curso.matricula1 = Convert.ToDecimal(Convert.ToDouble(curso.matricula1) * 0.95);
                    }
                }

                //verifica se tem cupom de desconto para pos
                if (possuiCupom && curso.tipo == 0)
                {
                    curso.matricula = Convert.ToDecimal(Convert.ToDouble(curso.matricula) * 0.80);
                }

                Aluno_pgto ap = new Aluno_pgto();

                ap = new Aluno_pgtoDB().Buscar(ac);

                if (ap == null)
                {
                    ap = new Aluno_pgto()
                    {
                        aluno          = aluno,
                        curso          = curso,
                        aluno_curso    = ac,
                        data           = DateTime.Now,
                        data_gerado    = DateTime.Now,
                        forma_pgto     = forma_pgto,
                        total          = (double)curso.matricula,
                        total_parcelas = curso.qtd_parcelas,
                        matricula      = (double)curso.matricula,
                        vencimento     = Vencimento(DateTime.Now.AddDays(2)),
                        parcela        = 1
                    };

                    ap.Salvar();
                    ap.codigo = new Aluno_pgtoDB().Buscar(ac).codigo;
                }
                else
                {
                    if (ap.vencimento < DateTime.Now && pagImprimirBoleto)
                    {
                        retorno.link = "https://www.cenbrap.com.br/Inscreva/Contrato/" + curso.codigo + "/" + aluno.codigo;
                        return(retorno);
                    }

                    ap.data           = DateTime.Now;
                    ap.data_gerado    = DateTime.Now;
                    ap.total          = (double)curso.matricula;
                    ap.total_parcelas = curso.qtd_parcelas;
                    ap.matricula      = (double)curso.matricula;
                    ap.vencimento     = Vencimento(DateTime.Now.AddDays(2));
                    ap.forma_pgto     = forma_pgto;

                    ap.Alterar();
                }

                retorno.valor = ap.matricula;
                retorno.id    = ap.codigo;

                #region "Boleto Bancário"
                if (forma_pgto == 3)
                {
                    Boleto boleto = new Boleto()
                    {
                        //conta = 6,
                        conta      = 8,
                        data       = DateTime.Now,
                        valor      = ap.matricula,
                        vencimento = ap.vencimento,
                        instrucoes = "Sr(a). Caixa nao receber apos o vencimento<br><br>Inscricao: " + curso.titulo + "",
                        aluno_pgto = ap
                    };

                    //Verifica se tem boleto e se ele ainda está dentro da data de vencimento se tiver utiliza o mesmo número
                    int boleto_codigo = new BoletoDB().BuscarVencimento(ap);
                    if (boleto_codigo == 0)
                    {
                        boleto.Salvar();
                    }
                    else
                    {
                        boleto.codigo = boleto_codigo;
                        //boleto.Salvar();
                    }

                    retorno.link = "https://boleto.cenbrap.com.br/boleto/?id=" + boleto.codigo;

                    if ((enviar) && (!possuiCupom))
                    {
                        Email_tipo et = new Email_tipoDB().Buscar(curso.tipo, "Inscricao-boleto");

                        string txt         = "";
                        string assunto     = "";
                        string link_boleto = "";

                        //se for o pre-curso
                        if (curso.codigo == 355)
                        {
                            assunto     = "Boleto - " + curso.titulo;
                            txt         = "<strong>Ol&aacute; " + aluno.nome + "</strong><BR><BR>Ser&aacute; um prazer receb&ecirc;-lo(a) no nosso curso Pré-Congresso sobre 'Transtornos Mentais Relacionados ao Trabalho'.<BR><BR>Forma de Pagamento:Boleto Banc&aacute;rio<BR><BR><a href='https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/'><span style='color:#006;'>Clique aqui</span> para gerar o boleto bancário com vencimento em " + ap.vencimento.ToShortDateString() + ".</a><BR><BR>Lembramos que sua inscri&ccedil;&atilde;o somente ser&aacute; confirmada  ap&oacute;s realiza&ccedil;&atilde;o do pagamento.<BR><BR>Estamos &agrave; disposi&ccedil;&atilde;o para eventuais esclarecimentos.<BR><BR>Atenciosamente,<BR><BR>Congresso Brasileiro de Medicina do Trabalho e Perícias Médicas<br /><br /><span style='font-size: 8pt;'><span style='color: #808080;'><strong>Fernando Silva Tiago |&nbsp; </strong></span><span style='color: #808080;'><span style='color: #888888;'><em>Assessoria de Comunicação</em></span></span></span><br /> <span style='margin-top: 0px; margin-bottom: 0px;'><span style='font-size: 8pt;'><span style='color: #888888;'>0300 313 1538</span>";
                            link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                        }
                        else
                        {
                            if (curso.codigo == 391)
                            {
                                assunto     = "Boleto - www.psiquiatriaocupacional.com.br";
                                txt         = "<strong>Ol&aacute; " + aluno.nome + "</strong><BR><BR>Ser&aacute; um prazer receb&ecirc;-lo(a) no nosso curso Pré-Congresso sobre 'Exame Psíquico'.<BR><BR>Forma de Pagamento:Boleto Banc&aacute;rio<BR><BR><a href='https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/'><span style='color:#006;'>Clique aqui</span> para gerar o boleto bancário com vencimento em " + ap.vencimento.ToShortDateString() + ".</a><BR><BR>Lembramos que sua inscri&ccedil;&atilde;o somente ser&aacute; confirmada  ap&oacute;s realiza&ccedil;&atilde;o do pagamento.<BR><BR>Estamos &agrave; disposi&ccedil;&atilde;o para eventuais esclarecimentos.<BR><BR>Atenciosamente,<BR><BR>Congresso Brasileiro de Medicina do Trabalho e Perícias Médicas<br /><br /><span style='font-size: 8pt;'><span style='color: #808080;'><strong>Fernando Silva Tiago |&nbsp; </strong></span><span style='color: #808080;'><span style='color: #888888;'><em>Assessoria de Comunicação</em></span></span></span><br /> <span style='margin-top: 0px; margin-bottom: 0px;'><span style='font-size: 8pt;'><span style='color: #888888;'>0300 313 1538</span>";
                                link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                            }
                            else
                            {
                                if (et == null)
                                {
                                    assunto     = "Boleto - " + curso.titulo;
                                    txt         = "<strong>Ol&aacute; " + aluno.nome + "</strong><BR><BR>Ser&aacute; um prazer receb&ecirc;-lo(a) no " + curso.titulo + ".<BR><BR>Forma de Pagamento:Boleto Banc&aacute;rio<BR><BR><a href='https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/'><span style='color:#006;'>Clique aqui</span> para gerar o boleto bancário com vencimento em " + ap.vencimento.ToShortDateString() + ".</a><BR><BR>Lembramos que sua inscri&ccedil;&atilde;o somente ser&aacute; confirmada  ap&oacute;s realiza&ccedil;&atilde;o do pagamento.<BR><BR>Estamos &agrave; disposi&ccedil;&atilde;o para eventuais esclarecimentos.<BR><BR>Atenciosamente,<BR><BR>" + curso.titulo + "<br /><br /><span style='font-size: 8pt;'><span style='color: #808080;'><strong>Fernando Silva Tiago |&nbsp; </strong></span><span style='color: #808080;'><span style='color: #888888;'><em>Assessoria de Comunicação</em></span></span></span><br /> <span style='margin-top: 0px; margin-bottom: 0px;'><span style='font-size: 8pt;'><span style='color: #888888;'>0300 313 1538</span>";
                                    link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                                }
                                else
                                {
                                    assunto = et.assunto;
                                    txt     = et.texto;

                                    if (curso.codigo == 374)
                                    {
                                        assunto = assunto.Replace("congressomedicina", "psiquiatriaocupacional");
                                        txt     = txt.Replace("congressomedicina", "psiquiatriaocupacional");
                                        //txt = txt.Replace("nosso Congresso", "nossa Jornada");
                                        txt = txt.Replace("Medicina do Trabalho e Perícias Médicas", "Psiquiatria Ocupacional");
                                    }

                                    if (txt.IndexOf("#TITULOCURSO#") > 0)
                                    {
                                        txt = txt.Replace("#TITULOCURSO#", curso.titulo);
                                    }

                                    if (txt.IndexOf("#NOMEALUNO#") > 0)
                                    {
                                        txt = txt.Replace("#NOMEALUNO#", aluno.nome);
                                    }

                                    if (txt.IndexOf("#VENCIMENTOBOLETO#") > 0)
                                    {
                                        txt = txt.Replace("#VENCIMENTOBOLETO#", ap.vencimento.ToShortDateString());
                                    }

                                    if (txt.IndexOf("#URLBOLETO#") > 0)
                                    {
                                        txt = txt.Replace("#URLBOLETO#", "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/");
                                    }
                                    link_boleto = "https://www.cenbrap.com.br/ImprimirBoleto/" + curso.codigo + "/" + aluno.codigo + "/";
                                }
                            }
                        }


                        //Verificar primeiro se já foi enviado esse e-mail para o aluno nas últimas 24h
                        if (!new Envio_emailDB().Existe(aluno.email, assunto, link_boleto))
                        {
                            new Envio_emailDB().Salvar(new Envio_email()
                            {
                                data    = DateTime.Now,
                                assunto = assunto,
                                texto   = txt,
                                para    = aluno.email
                            });
                        }
                    }
                    else
                    {
                        retorno.id = boleto.codigo;
                    }
                }
                #endregion

                #region "Cartão Cielo"
                if (forma_pgto == 5)
                {
                    ap.curso = new CursoDB().Buscar(ap.curso.codigo);
                    ap.aluno = new AlunoDB().Buscar(ap.aluno.codigo);

                    string txt_curso = ap.curso.Tipo() + ": " + ap.curso.titulo;

                    if (txt_curso.Length > 128)
                    {
                        txt_curso = txt_curso.Substring(0, 128);
                    }

                    string telefone = ap.aluno.ddd + ap.aluno.telefone;
                    telefone = telefone.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "").Replace(".", "").Replace(",", "").Replace("(", "");

                    if (telefone.Length > 11)
                    {
                        telefone = telefone.Substring(0, 11);
                    }

                    while (telefone.Length < 10)
                    {
                        telefone = "0" + telefone;
                    }

                    ap.aluno_curso.AbriuCartao();

                    retorno.link = new IntegrarCielo().Gerar(ap.codigo, ap.matricula, txt_curso, ap.aluno.nome, ap.aluno.cpf, ap.aluno.email, telefone);
                }
                #endregion

                #region "Recorrencia Cielo"
                if (forma_pgto == 9)
                {
                    ap.curso = new CursoDB().Buscar(ap.curso.codigo);
                    ap.aluno = new AlunoDB().Buscar(ap.aluno.codigo);

                    string txt_curso = ap.curso.Tipo() + ": " + ap.curso.titulo;

                    if (txt_curso.Length > 128)
                    {
                        txt_curso = txt_curso.Substring(0, 128);
                    }

                    string telefone = ap.aluno.ddd + ap.aluno.telefone;
                    telefone = telefone.Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "").Replace(".", "").Replace(",", "").Replace("(", "");

                    if (telefone.Length > 11)
                    {
                        telefone = telefone.Substring(0, 11);
                    }

                    while (telefone.Length < 10)
                    {
                        telefone = "0" + telefone;
                    }

                    ap.aluno_curso.AbriuCartao();

                    retorno.link = new PagamentoPagseguroCenbrap().Pagamento(ap);
                }
                #endregion
            }

            return(retorno);
        }