public ActionResult Confirmado(string codigo) { if (!String.IsNullOrWhiteSpace(codigo)) { Simulado s = ListarSimuladoAbertoPorCodigo(codigo); if (s != null && s.FlagTemVaga && !s.CandidatoInscrito(Sessao.Candidato.CodCandidato)) { if (Sessao.Candidato.PerfilCompleto) { string numeroMascara = new HashidsNet.Hashids(Configuracoes.Recuperar("SIAC_SECRET") + s.Codigo, 6) .Encode(s.Ano, s.NumIdentificador, Sessao.Candidato.CodCandidato); var candidato = new SimCandidato() { NumInscricao = s.ObterNumInscricao(), Candidato = Sessao.Candidato, DtInscricao = DateTime.Now, NumeroMascara = numeroMascara }; s.SimCandidato.Add(candidato); foreach (var prova in s.Provas) { prova.SimCandidatoProva.Add(new SimCandidatoProva() { SimCandidato = candidato, SimProva = prova }); } Repositorio.Commit(); string simuladoUrl = Url.Action("Inscricoes", "Candidato", new { codigo = s.Codigo }, Request.Url.Scheme); EnviarEmail.Inscricao(Sessao.Candidato.Email, Sessao.Candidato.Nome, simuladoUrl, s.Titulo); return(RedirectToAction("Inscricoes", "Candidato", new { codigo = s.Codigo })); } else { return(RedirectToAction("Perfil", "Candidato")); } } } return(RedirectToAction("Index")); }
public ActionResult Cancelar(string codigo, string simuladoCancelar) { if (!StringExt.IsNullOrWhiteSpace(codigo, simuladoCancelar)) { Simulado s = Simulado.ListarPorCodigo(codigo); if (s != null && s.CandidatoInscrito(Sessao.Candidato.CodCandidato)) { if (codigo.ToLower() == simuladoCancelar.ToLower()) { SimCandidato simCandidato = s.SimCandidato.First(sc => sc.CodCandidato == Sessao.Candidato.CodCandidato); Repositorio.GetInstance().SimCandidatoProva.RemoveRange(simCandidato.SimCandidatoProva); s.SimCandidato.Remove(simCandidato); Repositorio.Commit(); } } return(RedirectToAction("Index")); } else { return(RedirectToAction("Inscricoes", "Candidato", new { codigo })); } }