Пример #1
0
        public Boleto Buscar(Aluno_pgto aluno_pgto)
        {
            try
            {
                Boleto boleto = null;

                DBSession session = new DBSession();
                Query     quey    = session.CreateQuery("SELECT isnull(codigo, 0) AS codigo, isnull(data, '1900-01-01') AS data, isnull(conta, 0) AS conta, isnull(entrada, 0) AS entrada, isnull(cliente, 0) AS cliente, isnull(painel, 0) AS painel, isnull(valor, 0) AS valor, isnull(multa, 0) AS multa, isnull(juros, 0) AS juros, isnull(protesto, 0) AS protesto, isnull(vencimento, '1900-01-01') AS vencimento, isnull(impresso, 0) AS impresso, isnull(instrucoes, '') AS instrucoes, isnull(impresso_data, '1900-01-01') AS impresso_data, isnull(remessa, 0) AS remessa, isnull(remessa_data, '1900-01-01') AS remessa_data, isnull(retorno, 0) AS retorno, isnull(retorno_data, '1900-01-01') AS retorno_data, isnull(arquivo, '') AS arquivo, isnull(remessa_codigo, 0) AS remessa_codigo, isnull(retorno_codigo, 0) AS retorno_codigo, isnull(retorno_msg_erro, '') AS retorno_msg_erro, isnull(entrada_confirmada, 0) AS entrada_confirmada, isnull(pagamento_efetuado, 0) AS pagamento_efetuado, isnull(entrada_rejeitada, 0) AS entrada_rejeitada, isnull(movimento_codigo, '') AS movimento_codigo, isnull(movimento_descricao, '') AS movimento_descricao, isnull(rejeicao_codigo, '') AS rejeicao_codigo, isnull(rejeicao_msg, '') AS rejeicao_msg, isnull(ticket, 0) AS ticket, isnull(aluno_pgto, 0) AS aluno_pgto, isnull(boleto_avulso, 0) as boleto_avulso FROM boleto WHERE aluno_pgto = @aluno_pgto ORDER BY codigo DESC");
                quey.SetParameter("aluno_pgto", aluno_pgto.codigo);
                IDataReader reader = quey.ExecuteQuery();

                if (reader.Read())
                {
                    boleto = new Boleto(Convert.ToInt32(reader["codigo"]), Convert.ToDateTime(reader["data"]), Convert.ToInt32(reader["conta"]), new Entrada()
                    {
                        codigo = Convert.ToInt32(reader["entrada"])
                    }, Convert.ToInt32(reader["cliente"]), Convert.ToInt32(reader["painel"]), Convert.ToDouble(reader["valor"]), Convert.ToDouble(reader["multa"]), Convert.ToDouble(reader["juros"]), Convert.ToInt32(reader["protesto"]), Convert.ToDateTime(reader["vencimento"]), Convert.ToInt32(reader["impresso"]), Convert.ToString(reader["instrucoes"]), Convert.ToDateTime(reader["impresso_data"]), Convert.ToInt32(reader["remessa"]), Convert.ToDateTime(reader["remessa_data"]), Convert.ToInt32(reader["retorno"]), Convert.ToDateTime(reader["retorno_data"]), Convert.ToString(reader["arquivo"]), Convert.ToInt32(reader["remessa_codigo"]), Convert.ToInt32(reader["retorno_codigo"]), Convert.ToString(reader["retorno_msg_erro"]), Convert.ToInt32(reader["entrada_confirmada"]), Convert.ToInt32(reader["pagamento_efetuado"]), Convert.ToInt32(reader["entrada_rejeitada"]), Convert.ToString(reader["movimento_codigo"]), Convert.ToString(reader["movimento_descricao"]), Convert.ToString(reader["rejeicao_codigo"]), Convert.ToString(reader["rejeicao_msg"]), Convert.ToInt32(reader["ticket"]), new Aluno_pgto()
                    {
                        codigo = Convert.ToInt32(reader["codigo"])
                    }, new Boleto_avulso()
                    {
                        codigo = Convert.ToInt32(reader["boleto_avulso"])
                    });
                }
                reader.Close();
                session.Close();

                return(boleto);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Пример #2
0
        public int BuscarVencimento(Aluno_pgto aluno_pgto)
        {
            try
            {
                int boleto = 0;

                DBSession session = new DBSession();
                Query     quey    = session.CreateQuery("SELECT isnull(codigo, 0) AS codigo FROM boleto WHERE aluno_pgto = @aluno_pgto and vencimento >= @data ORDER BY codigo DESC");
                quey.SetParameter("aluno_pgto", aluno_pgto.codigo).
                SetParameter("data", DateTime.Now.Date);
                IDataReader reader = quey.ExecuteQuery();

                if (reader.Read())
                {
                    boleto = Convert.ToInt32(reader["codigo"]);
                }
                reader.Close();
                session.Close();

                return(boleto);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Пример #3
0
        public List <Aluno_pgto_Transacao> Listar(Aluno_pgto aluno_pgto)
        {
            try
            {
                List <Aluno_pgto_Transacao> aluno_pgto_transacao = new List <Aluno_pgto_Transacao>();

                DBSession session = new DBSession();
                Query     query   = session.CreateQuery("select isnull(aluno_pgto_Transacao_id, 0) as aluno_pgto_Transacao_id, isnull(aluno_pgto, 0) as aluno_pgto, isnull(status, 0) as status, isnull(code, '') as code, isnull(data, '01/01/1900') as data, isnull(msg, '') as msg FROM Aluno_pgto_Transacao WHERE aluno_pgto = @aluno_pgto ORDER BY aluno_medtv_transacao_id");
                query.SetParameter("aluno_pgto", aluno_pgto.codigo);
                IDataReader reader = query.ExecuteQuery();

                while (reader.Read())
                {
                    aluno_pgto_transacao.Add(new Aluno_pgto_Transacao(Convert.ToInt32(reader["aluno_pgto_transacao_id"]), aluno_pgto, Convert.ToInt32(reader["status"]), Convert.ToString(reader["code"]), Convert.ToString(reader["msg"]), Convert.ToDateTime(reader["data"])));
                }
                reader.Close();
                session.Close();

                return(aluno_pgto_transacao);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Пример #4
0
        public Aluno_pgto_Transacao Buscar(Aluno_pgto aluno_pgto, string code, int status)
        {
            try
            {
                Aluno_pgto_Transacao aluno_pgto_transacao = null;

                DBSession session = new DBSession();
                Query     query   = session.CreateQuery("select isnull(aluno_pgto_Transacao_id, 0) as aluno_pgto_Transacao_id, isnull(aluno_pgto, 0) as aluno_pgto, isnull(status, 0) as status, isnull(code, '') as code, isnull(data, '01/01/1900') as data, isnull(msg, '') as msg FROM Aluno_pgto_Transacao WHERE aluno_pgto = @aluno_pgto AND code = @code and status = @status");
                query.SetParameter("aluno_pgto", aluno_pgto.codigo)
                .SetParameter("code", code)
                .SetParameter("status", status);
                IDataReader reader = query.ExecuteQuery();

                if (reader.Read())
                {
                    aluno_pgto_transacao = new Aluno_pgto_Transacao(Convert.ToInt32(reader["aluno_pgto_transacao_id"]), aluno_pgto, Convert.ToInt32(reader["status"]), Convert.ToString(reader["code"]), Convert.ToString(reader["msg"]), Convert.ToDateTime(reader["data"]));
                }
                reader.Close();
                session.Close();

                return(aluno_pgto_transacao);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Пример #5
0
        public Aluno_pgto Buscar(Aluno_curso aluno_curso)
        {
            try
            {
                Aluno_pgto aluno_pgto = null;

                DBSession session = new DBSession();
                Query     quey    = session.CreateQuery("SELECT isnull(codigo, 0) AS codigo, isnull(aluno, 0) AS aluno, isnull(curso, 0) AS curso, isnull(aluno_curso, 0) AS aluno_curso, isnull(boleto_avulso, 0) AS boleto_avulso, isnull(data, '1900-01-01') AS data, isnull(vencimento, '1900-01-01') AS vencimento, isnull(total, 0) AS total, isnull(total_parcelas, 0) AS total_parcelas, isnull(desconto_pgto_dia, 0) AS desconto_pgto_dia, isnull(forma_pgto, 0) AS forma_pgto, isnull(parcela, 0) AS parcela, isnull(valor_parcela, 0) AS valor_parcela, isnull(situacao, 0) AS situacao, isnull(painel, 0) AS painel, isnull(painel_pgto, 0) AS painel_pgto, isnull(data_pgto, '1900-01-01') AS data_pgto, isnull(obs, '') AS obs, isnull(vinculado, 0) AS vinculado, isnull(total_vinculado, 0) AS total_vinculado, isnull(data_gerado, '1900-01-01') AS data_gerado, isnull(txt, '') AS txt, isnull(matricula, 0) AS matricula, isnull(boleto, 0) AS boleto FROM Aluno_pgto WHERE aluno_curso = @codigo");
                quey.SetParameter("codigo", aluno_curso.codigo);
                IDataReader reader = quey.ExecuteQuery();

                if (reader.Read())
                {
                    aluno_pgto = new Aluno_pgto(Convert.ToInt32(reader["codigo"]), new Aluno()
                    {
                        codigo = Convert.ToInt32(reader["aluno"])
                    }, new Curso()
                    {
                        codigo = Convert.ToInt32(reader["curso"])
                    }, new Aluno_curso()
                    {
                        codigo = Convert.ToInt32(reader["aluno_curso"])
                    }, Convert.ToInt32(reader["boleto_avulso"]), Convert.ToDateTime(reader["data"]), Convert.ToDateTime(reader["vencimento"]), Convert.ToDouble(reader["total"]), Convert.ToInt32(reader["total_parcelas"]), Convert.ToDouble(reader["desconto_pgto_dia"]), Convert.ToInt32(reader["forma_pgto"]), Convert.ToInt32(reader["parcela"]), Convert.ToDouble(reader["valor_parcela"]), Convert.ToInt32(reader["situacao"]), Convert.ToInt32(reader["painel"]), Convert.ToInt32(reader["painel_pgto"]), Convert.ToDateTime(reader["data_pgto"]), Convert.ToString(reader["obs"]), Convert.ToInt32(reader["vinculado"]), Convert.ToDouble(reader["total_vinculado"]), Convert.ToDateTime(reader["data_gerado"]), Convert.ToString(reader["txt"]), Convert.ToDouble(reader["matricula"]), Convert.ToInt32(reader["boleto"]));
                }
                reader.Close();
                session.Close();

                return(aluno_pgto);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Пример #6
0
        public bool Existe(Aluno_pgto aluno_pgto, DateTime data)
        {
            try
            {
                bool retorno = false;

                DBSession session = new DBSession();
                Query     query   = session.CreateQuery("select isnull(aluno_pgto, 0) as aluno_pgto, isnull(status, '') as status, isnull(data, '01/01/1900') as data, isnull(msg, '') as msg FROM Aluno_pgto_Notificacao WHERE aluno_pgto = @aluno_pgto AND DATEADD(ms, -DATEPART(ms, data), data) = @data ORDER BY data");
                query.SetParameter("aluno_pgto", aluno_pgto.codigo)
                .SetParameter("data", data);
                IDataReader reader = query.ExecuteQuery();

                if (reader.Read())
                {
                    retorno = true;
                }
                reader.Close();
                session.Close();

                return(retorno);
            }
            catch (Exception error)
            {
                throw error;
            }
        }
Пример #7
0
        public void PgtoNaoConcluido(Aluno_pgto pgto)
        {
            pgto.aluno = new AlunoDB().Buscar(pgto.aluno.codigo);
            pgto.curso = new CursoDB().Buscar(pgto.curso.codigo);

            string txt = "Olá Dr(a). " + pgto.aluno.nome + ",<BR><BR>O pagamento da " + pgto.curso.Tipo() + " no(a) " + pgto.curso.titulo + " não foi concluído, por favor tente novamente.";

            new Envio_email()
            {
                para = pgto.aluno.email, assunto = "Pagamento não concluído - Cenbrap", texto = txt
            }.Salvar();
        }
Пример #8
0
        public void EmailAlertaRakel(Aluno_pgto pgto)
        {
            pgto.aluno = new AlunoDB().Buscar(pgto.aluno.codigo);
            pgto.curso = new CursoDB().Buscar(pgto.curso.codigo);

            string txt = "O pagamento Cielo TID " + pgto.txt + " foi cancelado.<BR>Aluno: " + pgto.aluno.nome + "<BR>Curso: " + pgto.curso.titulo;

            new Envio_email()
            {
                para = "*****@*****.**", assunto = "Pagamento Cielo Cancelado", texto = txt
            }.Salvar();
        }
Пример #9
0
        public ActionResult Pagamento(int id)
        {
            PagamentoPagseguroCenbrap pagamento = new PagamentoPagseguroCenbrap();
            Aluno_pgto aluno_pgto = new Aluno_pgtoDB().Buscar(id);

            if (aluno_pgto == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            Aluno_pgto aluno_pgto1 = pagamento.Pagar(aluno_pgto);

            return(Redirect(aluno_pgto1.obs));
        }
Пример #10
0
 public void Excluir(Aluno_pgto variavel)
 {
     try
     {
         DBSession session = new DBSession();
         Query     query   = session.CreateQuery("DELETE FROM Aluno_pgto WHERE codigo = @codigo");
         query.SetParameter("codigo", variavel.codigo);
         query.ExecuteUpdate();
         session.Close();
     }
     catch (Exception erro)
     {
         throw erro;
     }
 }
Пример #11
0
 public void Alterar(Aluno_pgto variavel)
 {
     try
     {
         DBSession session = new DBSession();
         Query     query   = session.CreateQuery("UPDATE Aluno_pgto SET aluno = @aluno, curso = @curso, aluno_curso = @aluno_curso, boleto_avulso = @boleto_avulso, data = @data, vencimento = @vencimento, total = @total, total_parcelas = @total_parcelas, desconto_pgto_dia = @desconto_pgto_dia, forma_pgto = @forma_pgto, parcela = @parcela, valor_parcela = @valor_parcela, situacao = @situacao, painel = @painel, painel_pgto = @painel_pgto, data_pgto = @data_pgto, obs = @obs, vinculado = @vinculado, total_vinculado = @total_vinculado, data_gerado = @data_gerado, txt = @txt, matricula = @matricula, boleto = @boleto WHERE codigo = @codigo");
         query.SetParameter("aluno", variavel.aluno.codigo)
         .SetParameter("codigo", variavel.codigo)
         .SetParameter("curso", variavel.curso.codigo)
         .SetParameter("aluno_curso", variavel.aluno_curso.codigo)
         .SetParameter("boleto_avulso", variavel.boleto_avulso)
         .SetParameter("data", variavel.data)
         .SetParameter("vencimento", variavel.vencimento)
         .SetParameter("total", variavel.total)
         .SetParameter("total_parcelas", variavel.total_parcelas)
         .SetParameter("desconto_pgto_dia", variavel.desconto_pgto_dia)
         .SetParameter("forma_pgto", variavel.forma_pgto)
         .SetParameter("parcela", variavel.parcela)
         .SetParameter("valor_parcela", variavel.valor_parcela)
         .SetParameter("situacao", variavel.situacao)
         .SetParameter("painel", variavel.painel)
         .SetParameter("painel_pgto", variavel.painel_pgto)
         .SetParameter("data_pgto", variavel.data_pgto)
         .SetParameter("obs", variavel.obs)
         .SetParameter("vinculado", variavel.vinculado)
         .SetParameter("total_vinculado", variavel.total_vinculado)
         .SetParameter("data_gerado", variavel.data_gerado)
         .SetParameter("txt", variavel.txt)
         .SetParameter("matricula", variavel.matricula)
         .SetParameter("boleto", variavel.boleto);
         query.ExecuteUpdate();
         session.Close();
     }
     catch (Exception erro)
     {
         throw erro;
     }
 }
Пример #12
0
 public void Salvar(Aluno_pgto variavel)
 {
     try
     {
         DBSession session = new DBSession();
         Query     query   = session.CreateQuery("INSERT INTO Aluno_pgto (aluno,curso,aluno_curso,boleto_avulso,data,vencimento,total,total_parcelas,desconto_pgto_dia,forma_pgto,parcela,valor_parcela,situacao,painel,painel_pgto,data_pgto,obs,vinculado,total_vinculado,data_gerado,txt,matricula,boleto) VALUES (@aluno,@curso,@aluno_curso,@boleto_avulso,@data,@vencimento,@total,@total_parcelas,@desconto_pgto_dia,@forma_pgto,@parcela,@valor_parcela,@situacao,@painel,@painel_pgto,@data_pgto,@obs,@vinculado,@total_vinculado,@data_gerado,@txt,@matricula,@boleto) ");
         query.SetParameter("aluno", variavel.aluno.codigo)
         .SetParameter("curso", variavel.curso.codigo)
         .SetParameter("aluno_curso", variavel.aluno_curso.codigo)
         .SetParameter("boleto_avulso", variavel.boleto_avulso)
         .SetParameter("data", variavel.data)
         .SetParameter("vencimento", variavel.vencimento)
         .SetParameter("total", variavel.total)
         .SetParameter("total_parcelas", variavel.total_parcelas)
         .SetParameter("desconto_pgto_dia", variavel.desconto_pgto_dia)
         .SetParameter("forma_pgto", variavel.forma_pgto)
         .SetParameter("parcela", variavel.parcela)
         .SetParameter("valor_parcela", variavel.valor_parcela)
         .SetParameter("situacao", variavel.situacao)
         .SetParameter("painel", variavel.painel)
         .SetParameter("painel_pgto", variavel.painel_pgto)
         .SetParameter("data_pgto", variavel.data_pgto)
         .SetParameter("obs", variavel.obs)
         .SetParameter("vinculado", variavel.vinculado)
         .SetParameter("total_vinculado", variavel.total_vinculado)
         .SetParameter("data_gerado", variavel.data_gerado)
         .SetParameter("txt", variavel.txt)
         .SetParameter("matricula", variavel.matricula)
         .SetParameter("boleto", variavel.boleto);
         query.ExecuteUpdate();
         session.Close();
     }
     catch (Exception erro)
     {
         throw erro;
     }
 }
Пример #13
0
        public Aluno_pgto Pagar(Aluno_pgto ap)
        {
            EnvironmentConfiguration.ChangeEnvironment(isSandbox);

            // Instantiate a new preApproval request
            PreApprovalRequest preApproval = new PreApprovalRequest();

            // Sets the currency
            preApproval.Currency = Currency.Brl;

            // Sets a reference code for this preApproval request, it is useful to identify this payment in future notifications.
            preApproval.Reference = "AP" + ap.codigo.ToString();

            ap.CompletaCampos();

            // Sets your customer information.
            preApproval.Sender = new Sender(
                ap.aluno.nome,
                ap.aluno.email,
                new Phone(ap.aluno.ddd, ap.aluno.telefone)
                );

            valor = Convert.ToDecimal(ap.curso.valor);

            if (ap.aluno.codigo == 4284)
            {
                valor = 1;
            }

            preApproval.PreApproval = new PreApproval();

            // Sets the preApproval informations
            var now = DateTime.Now;

            preApproval.PreApproval                      = new PreApproval();
            preApproval.PreApproval.Charge               = Charge.Auto;
            preApproval.PreApproval.Name                 = "Assinatura " + ap.curso.titulo;
            preApproval.PreApproval.AmountPerPayment     = valor;
            preApproval.PreApproval.MaxAmountPerPeriod   = valor;
            preApproval.PreApproval.MaxPaymentsPerPeriod = 1;
            preApproval.PreApproval.Details              = string.Format("Todo dia {0} sera cobrado o valor de {1} referente a sua assinatura {2}. A assinatura esta sendo contratada ate o termino da vigencia, no entanto voce podera fazer o cancelamento quando quiser!", now.Day, preApproval.PreApproval.AmountPerPayment.ToString("C2"), ap.curso.titulo);
            preApproval.PreApproval.Period               = Period.Monthly;
            preApproval.PreApproval.DayOfMonth           = now.Day;
            preApproval.PreApproval.InitialDate          = now;
            preApproval.PreApproval.FinalDate            = now.AddMonths(qtd_max_meses);
            preApproval.PreApproval.MaxTotalAmount       = qtd_max_meses * valor;

            // Sets the url used by PagSeguro for redirect user after ends checkout process
            preApproval.RedirectUri = new Uri("https://www.cenbrap.com.br/Pagseguro/retorno");
            // Sets the url used for user review the signature or read the rules
            preApproval.ReviewUri = new Uri("https://www.cenbrap.com.br/Pagseguro/revisao");

            SenderDocument senderCPF = new SenderDocument(Documents.GetDocumentByType("CPF"), ap.aluno.cpf.Replace(".", "").Replace(" ", "").Replace("-", "").Replace("/", "").Replace(",", ""));

            preApproval.Sender.Documents.Add(senderCPF);

            try
            {
                //AccountCredentials credentials = new AccountCredentials(email, token);
                AccountCredentials credentials = PagSeguroConfiguration.Credentials(isSandbox);

                Uri preApprovalRedirectUri = preApproval.Register(credentials);

                ap.situacao = 0;
                ap.obs      = preApprovalRedirectUri.ToString();
                ap.txt      = "";

                ap.Alterar();
            }
            catch (PagSeguroServiceException exception)
            {
                ap.situacao = 1;
                ap.obs      = "";

                ap.txt = exception.Message + "\n";

                foreach (ServiceError element in exception.Errors)
                {
                    ap.txt += (element + "\n");
                }

                ap.Alterar();
            }

            return(ap);
        }
Пример #14
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);
        }
Пример #15
0
 public void PgtoConcluido(Aluno_pgto pgto)
 {
     pgto.CompletaCampos();
     pgto.Confirma();
 }