public JsonResult AulaTextoProxParagrafo(int parId) { string urlExtra = null; string tituloPagina = null; var end = "FIM"; if (parId == -2) { return Json(end, JsonRequestBehavior.AllowGet); } else { if (parId == -1) { paragrafo++; urlExtra = "NONE"; } else { // Paragrafo específico, o utilizador quer tirar uma dúvida // Buscar fonte extra se utilizador está em modo interativo if (user.ModoInt==Const.SUPER_INTERATIVO_ON) { urlExtra = fonteDAO.Fonte.Find(aulaAtual).URL; WebClient x = new WebClient(); string source = x.DownloadString(urlExtra); tituloPagina = Regex.Match(source, @"\<title\b[^>]*\>\s*(?<Title>[\s\S]*?)\</title\>", RegexOptions.IgnoreCase).Groups["Title"].Value; } else { urlExtra = "NONE"; } } int parGet; if (parId != -1 && parId != -2) { parGet = parId; } else parGet = paragrafo; var r = new { Titulo = "FIM_AULA", Paragrafo = "FIM_AULA", Curiosidade = "FIM_AULA", Fala = "FIM_AULA", FonteExtra = "FIM_AULA" }; if (parGet < atorg.paragrafos.Count) { // Paragrafo seguinte AulaTextoViewModel atvm = new AulaTextoViewModel(atorg.getTituloDaAula(), atorg.getParagrafoAtual(parGet), atorg.getCuriosidadeAtual(parGet), atorg.getFalaAtual(parGet), aulaAtual, reiAtual); Personalidade.FALA_ATUAL = atvm.Fala; if (parId != -1 && urlExtra != null) { Personalidade.FALA_ATUAL += ". Se tens mais dúvidas tenta a aula de vídeo."; if (user.ModoInt == Const.SUPER_INTERATIVO_ON) { if (tituloPagina == null) { Personalidade.FALA_ATUAL += ". Se quiseres saber mais sobre esta parte da matéria podes consultar esta página."; } else { Personalidade.FALA_ATUAL += ". Se quiseres saber mais sobre esta parte da matéria podes consultar a página, "+tituloPagina; } } } // Escrever por cima do pacote de término de Aula r = new { Titulo = atvm.Titulo, Paragrafo = atvm.Paragrafo, Curiosidade = atvm.Curiosidade, Fala = atvm.Fala, FonteExtra = urlExtra }; } return Json(r, JsonRequestBehavior.AllowGet); } }
public ActionResult AulaDeTexto(int idAula) { Aula aula = aulaDAO.Aula.Find(idAula); String fonteExtra = fonteDAO.Fonte.Find(idAula).URL; // URL fonte extra relativo à aula aulaAtual = idAula; reiAtual =(int) aulaDAO.Aula.Find(idAula).Rei; paragrafo = 0; conta_duvidas = 0; atorg = new AulaTextoOrganizer(aulaDAO, reiDAO, uaDAO, fonteExtra, idAula); // Primeiro parágrafo AulaTextoViewModel atvm = new AulaTextoViewModel(); atvm.Titulo = atorg.getTituloDaAula(); atvm.Paragrafo = atorg.getParagrafoAtual(paragrafo); atvm.Curiosidade = atorg.getCuriosidadeAtual(paragrafo); atvm.Fala = atorg.getFalaAtual(paragrafo); atvm.IdAula = idAula; atvm.IdRei = reiAtual; Personalidade.FALA_ATUAL = atvm.Fala; return View(atvm); }