Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }