public CupomDesconto(DateTime data, string cupom, string ip) { CupomDescontoDB db = new CupomDescontoDB(); this.data = data; this.ip = ip; this.cupom = ""; this.qtdUtilizado = 0; this.qtdEnviado = 0; this.qtdConcluido = 0; this.cupomDesconto_id = db.SalvarRetornar(this); bool sair = true; for (int i = 0; sair; i++) { if (i > 0) { this.cupom = cupom + "" + i; } else { this.cupom = cupom; } //se não existe sai do loop sair = db.Existe(this.cupom); } Alterar(); }
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á " + aluno.nome + "</strong><BR><BR>Será um prazer recebê-lo(a) no nosso curso Pré-Congresso sobre 'Transtornos Mentais Relacionados ao Trabalho'.<BR><BR>Forma de Pagamento:Boleto Bancá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ção somente será confirmada após realização do pagamento.<BR><BR>Estamos à disposiçã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 | </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á " + aluno.nome + "</strong><BR><BR>Será um prazer recebê-lo(a) no nosso curso Pré-Congresso sobre 'Exame Psíquico'.<BR><BR>Forma de Pagamento:Boleto Bancá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ção somente será confirmada após realização do pagamento.<BR><BR>Estamos à disposiçã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 | </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á " + aluno.nome + "</strong><BR><BR>Será um prazer recebê-lo(a) no " + curso.titulo + ".<BR><BR>Forma de Pagamento:Boleto Bancá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ção somente será confirmada após realização do pagamento.<BR><BR>Estamos à disposiçã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 | </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); }