public AulaTextoOrganizer(AulaDAO a, ReiDAO r, UtilizadorAulaDAO ua, string fonte, int idAula) { aulaDAO = a; kingDAO = r; uaDAO = ua; fonteExtra = fonte; estaAula = aulaDAO.Aula.Find(idAula); aulaTexto = new AulaTexto(estaAula.Conteudo); // Parse do ficheiro que contém a aula paragrafos = aulaTexto.paragrafo; falasTutor = aulaTexto.falasTutor; curiosidades = aulaTexto.curiosidades; paragrafoAtual = 0; saveParagrafoAtual = -1; indiceDaFalaAtual = new Dictionary<int, int>(); int i = 0; foreach (String s in paragrafos.Values) { indiceDaFalaAtual.Add(i, 0); i++; } }
public ExerciciosViewModel(List<Exercicio> exs, ReiDAO r, AulaDAO a) { exercicios = new List<ExercicioView>(); aDAO = a; kingDAO = r; foreach (Exercicio e in exs) { String tipo = getNomeTipoExercicio(e); exercicios.Add(new ExercicioView(e.Id, e.Dificuldade, tipo, getNomeRei(e.Rei), getTituloAula(e.Aula))); } }
public HistoricoViewModel(ExercicioDAO exDAO, AulaDAO aDAO, UtilizadorAulaDAO uaDAO, UtilizadorExercicioDAO ueDAO, ReiDAO reiDAO, int userId) { this.exDAO = exDAO; this.uaDAO = uaDAO; this.ueDAO = ueDAO; this.reiDAO = reiDAO; this.userId = userId; this.aulaDAO = aDAO; EventosOrdenadosPorData = new List<String>(); Dictionary<DateTime, String> aux = new Dictionary<DateTime, string>(); // Construír tabela de eventos relativos a exercícios para imprimir na página do histórico foreach (UtilizadorExercicio ue in ueDAO.UtilizadorExercicio) { if (ue.Utilizador == userId) { DateTime dateaux = (DateTime)ue.Data; StringBuilder descricaoEvento = new StringBuilder(); String nomeRei = (String)reiDAO.Rei.Find(exDAO.Exercicio.Find(ue.Exercicio).Rei).Nome; // Nome do rei a que diz respeito o exercício int percentagem = (((int)ue.AlineasCorretas * 100) / (int)exDAO.Exercicio.Find(ue.Exercicio).NumeroAlineas); // Pontos no exercício DateTime daux = (DateTime)ue.Data; String data = (daux.Day + " de " + getNomeDoMes(daux.Month) + " de " + daux.Year + ", " + daux.Hour + ":" + daux.Minute + ":" + daux.Second); descricaoEvento.Append(data).Append("   "); descricaoEvento.Append("Fizeste um exercício sobre <b>").Append(nomeRei).Append("</b> "); descricaoEvento.Append(", o teu resultado foi de ").Append(percentagem).Append("%"); aux.Add((DateTime)ue.Data, descricaoEvento.ToString()); } } // Construír tabela de eventos relativos a aulas para imprimir na página do histórico foreach (UtilizadorAula ua in uaDAO.UtilizadorAula) { if (ua.Utilizador == userId) { DateTime dateaux = (DateTime)ua.Data; StringBuilder descricaoEvento = new StringBuilder(); var aulavar = aulaDAO.Aula.Where(aula => aula.Id == ua.Aula).ToList(); // Se conseguirmos extrair a respetiva aula da base de dados if (aulavar.Count() > 0) { Aula aulaux = aulavar.ElementAt(0); String nomeRei = (String)reiDAO.Rei.Find(aulaux.Rei).Nome; // Nome do rei a que diz respeito o exercício String nomeAula = aulaux.Titulo; DateTime daux = (DateTime)ua.Data; String data = (daux.Day + " de " + getNomeDoMes(daux.Month) + " de " + daux.Year + ", " + daux.Hour + ":" + daux.Minute + ":" + daux.Second); descricaoEvento.Append(data).Append("   "); descricaoEvento.Append("Assististe à aula <b>").Append("\"").Append(nomeAula).Append("\"</b> ") .Append(" sobre <b>").Append(nomeRei).Append("</b> "); aux.Add((DateTime)ua.Data, descricaoEvento.ToString()); } } } if (aux.Count > 0) { var listevents = aux.Values.OrderByDescending(data => data).ToList(); foreach (String desc in listevents) { EventosOrdenadosPorData.Add(desc); } } }