public static List <Simulado> ToListSimulado(this List <msp_API_ListarSimulados_Result> list) { var simulados = new List <Simulado>(); list.ForEach(x => { var simulado = new Simulado(); simulado.ID = x.intSimuladoId; simulado.Nome = x.txtSimuladoName != null ? x.txtSimuladoName.Trim() : null; simulado.Descricao = x.txtSimuladoDescription != null ? x.txtSimuladoDescription.Trim() : null; simulado.Ano = (x.intAno ?? 0); simulado.CodigoQuestoes = x.txtCodQuestoes != null ? x.txtCodQuestoes.Trim() : null; simulado.Ordem = (x.intSimuladoOrdem ?? 0); simulado.QtdQuestoes = x.intQtdQuestoes ?? 50; simulado.QtdQuestoesDiscursivas = x.intQtdQuestoesCasoClinico; simulado.especialidadeId = x.especialidadeId; simulado.descricaoEspecialidade = x.descricaoEspecialidade; simulado.DtHoraInicio = x.dteDataHoraInicioWEB; simulado.DtHoraFim = x.dteDataHoraTerminoWEB; simulados.Add(simulado); }); return(simulados); }
public Simulado GetSimuladoModoProvaConfiguracao(int idSimulado, int matricula, int idAplicacao, string appVersion = "0.0.0") { try { using (MiniProfiler.Current.Step("Obtendo configuraĆ§Ć£o simulado modo prova")) { var simu = _exercicioRepository.ObterSimulado(idSimulado); var exercicioHistorico = _exercicioRepository.ObterUltimoExercicioSimuladoModoProva(matricula, idSimulado); var jaInicouModoProva = exercicioHistorico != null; var versaoMinimaComparacao = Utilidades.VersaoMinimaImpressaoSimulado(idAplicacao); var simulado = new Simulado { IdExercicio = idSimulado, Nome = simu.txtSimuladoDescription, QtdQuestoes = Convert.ToInt32(simu.intQtdQuestoes), QtdQuestoesDiscursivas = Convert.ToInt32(simu.intQtdQuestoesCasoClinico), PermissaoProva = new PermissaoProva { Cronometro = 1, Impressao = Utilidades.VersaoMenorOuIgual(appVersion, versaoMinimaComparacao) ? 0 : 1 } }; if (jaInicouModoProva) { var tempoRestante = exercicioHistorico.dteDateInicio.AddMinutes(simu.intDuracaoSimulado) - DateTime.Now; var tempoRestanteSeg = exercicioHistorico.dteDateInicio.AddSeconds(simu.intDuracaoSimulado * 60) - DateTime.Now; this.ConfigurarDuracaoSimulado(simulado, Convert.ToInt32(tempoRestante.TotalMinutes), Convert.ToInt32(tempoRestante.TotalSeconds)); simulado.CartoesResposta = new CartoesResposta { HistoricoId = exercicioHistorico.intHistoricoExercicioID }; } else { this.ConfigurarDuracaoSimulado(simulado, simu.intDuracaoSimulado, simu.intDuracaoSimulado * 60); var historico = _exercicioRepository.InserirExercicioSimulado(idSimulado, matricula, idAplicacao, TipoProvaEnum.ModoProva); simulado.CartoesResposta = new CartoesResposta { HistoricoId = historico.intHistoricoExercicioID }; } return(simulado); } } catch { throw; } }
public ActionResult <Simulado> Post([FromServices] SimuladoDao dao, [FromBody] Simulado value) { try { return(dao.add(value)); } catch (Exception e) { return(new StatusCodeResult(400)); } }
public ActionResult Detalhe(string codigo) { if (!String.IsNullOrWhiteSpace(codigo)) { Simulado s = Simulado.ListarPorCodigo(codigo); if (s != null) { return(PartialView("_SimuladoDetalhe", s)); } } return(Json(string.Empty)); }
public ActionResult CartaoInscricao(string codigo) { if (!String.IsNullOrWhiteSpace(codigo)) { Simulado s = Simulado.ListarPorCodigo(codigo); if (s != null && s.FlagInscricaoEncerrado && s.CandidatoInscrito(Sessao.Candidato.CodCandidato)) { return(View(s.SimCandidato.First(sc => sc.CodCandidato == Sessao.Candidato.CodCandidato))); } } return(null); }
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 Confirmar(string codigo) { if (!String.IsNullOrWhiteSpace(codigo)) { Simulado s = ListarSimuladoAbertoPorCodigo(codigo); if (s != null && s.FlagTemVaga && !s.CandidatoInscrito(Sessao.Candidato.CodCandidato)) { if (Sessao.Candidato.PerfilCompleto) { return(View(s)); } else { return(RedirectToAction("Perfil", "Candidato")); } } } return(RedirectToAction("Index")); }
public async Task <IEnumerable <SimuladoQuestao> > ObterQuestoes(Simulado simulado) { var query = Task.Factory.StartNew(() => { int instituicaoId = (from inst in db.Instituicoes join uni in db.Unidades on inst.Id equals uni.InstituicaoId where uni.UnidadeCursos.Any(p => p.CursoId.Equals(simulado.CursoId)) select inst).AsNoTracking().AsParallel().FirstOrDefault().Id; var composicaoExames = (from ce in db.ComposicaoExames join mt in db.Materias on ce.MateriaId equals mt.Id join inst in db.Instituicoes on ce.InstituicaoId equals inst.Id where inst.Id == instituicaoId select ce).AsNoTracking().AsParallel().ToList(); List <SimuladoQuestao> simuladoQuestoes = new List <SimuladoQuestao>(); foreach (var item in composicaoExames) { var compExame = db.Questoes .OrderBy(p => Guid.NewGuid()) .Where(p => p.Topico.MateriaId.Equals(item.MateriaId)) .Take(item.Quantidade).AsParallel(); foreach (var questao in compExame) { simuladoQuestoes.Add(new SimuladoQuestao() { Questao = questao, Simulado = simulado }); } } return(simuladoQuestoes); }); return(await query); }
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 })); } }
public ActionResult Inscricoes(string codigo) { if (!String.IsNullOrEmpty(codigo) && codigo.ToLower().StartsWith("simul")) { Simulado s = Simulado.ListarPorCodigo(codigo); if (s != null && s.CandidatoInscrito(Sessao.Candidato.CodCandidato)) { return(View(s.SimCandidato.First(sc => sc.CodCandidato == Sessao.Candidato.CodCandidato))); } } else { var model = new CandidatoInscricoesViewModel(); int pagina = String.IsNullOrEmpty(codigo) ? 1 : 0; int qtePorPagina = CandidatoInscricoesViewModel.QtePorPagina; if (pagina == 0) { int.TryParse(codigo, out pagina); } if (pagina > 0) { List <Simulado> lista = Sessao.Candidato.SimCandidato .Select(sc => sc.Simulado) .Distinct() .OrderByDescending(d => d.PrimeiroDiaRealizacao?.DtRealizacao) .ToList(); model.Simulados = lista.Skip(qtePorPagina * pagina - qtePorPagina).Take(qtePorPagina).ToList(); model.TemProxima = lista.Count > qtePorPagina; } return(View("ListaInscricoes", model)); } return(RedirectToAction("Index")); }
// GET: simulado/inscricao public ActionResult Index() => View(new InscricaoIndexViewModel() { Simulados = Simulado.ListarParaInscricoes() });
private Simulado ListarSimuladoAbertoPorCodigo(string codigo) => Simulado.ListarParaInscricoes().FirstOrDefault(sim => sim.Codigo.ToLower() == codigo.ToLower());
public ActionResult Index() => View(new CandidatoIndexViewModel() { Inscritos = Simulado.ListarNaoEncerradoOrdenadamente().Where(s => s.CandidatoInscrito(Sessao.Candidato.CodCandidato)).ToList(), Passados = Simulado.ListarEncerradoOrdenadamente().Where(s => s.CandidatoInscrito(Sessao.Candidato.CodCandidato)).ToList() });
private void ConfigurarDuracaoSimulado(Simulado simulado, int duracao, int duracaoEmSegundos) { simulado.DuracaoEmSeg = duracaoEmSegundos; simulado.Duracao = duracao; }