public EstatisticaViewModel(Utilizador u) { TotalAlineasCorretas = (int)u.TotalAlineasCorretas; TotalAlineasErradas = (int)((int)u.TotalAlineas - (int)u.TotalAlineasCorretas); TotalExerciciosPositivos = (int)u.ExerciciosPositivos; TotalExerciciosNegativos = (int)((int)u.TotalExercicios - (int)u.ExerciciosPositivos); }
/*-------------------------------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------------------------- Perfil do Utilizador ------------------------------------------------------------------------------------------------*/ public ActionResult Perfil() { Personalidade.FALA_ATUAL = Personalidade.PERFIL; user = userDAO.Utilizador.Find(user.Id); // Atualizar valores das métricas para o seu estado mais recente Metricas.TE = excDAO.Exercicio.Count(); Metricas.TA = aulaDAO.Aula.Count(); Metricas.TR = reiDAO.Rei.Count(); Metricas.TER = (int)user.TotalExercicios; // ---> Apenas após resolver pela primeira vez exercício Metricas.TAA = (int)user.TotalAulas; // ---> Apenas após assistir pela primeira a aula // Atualizar concreta e explicitamente o progresso geral do utilizador com sessão iniciada Const.ProgressoDoUtilizador = Metricas.getPGeral(); PerfilUtilizadorViewModel pf = new PerfilUtilizadorViewModel(reiDAO); return View(pf); }
public ActionResult Login(Utilizador model, string returnUrl) { if (ModelState.IsValid) { user = null; var users = userDAO.Utilizador; // Verificar existência de utilizador foreach(Utilizador u in users){ if (u.Nome.Equals(model.Nome)) { // Atualizar o ficheiro const para validar autenticação para o exterior (principalmente para acesso das scripts .css) Const.isAutenticated = true; Const.UserName = u.Nome; user = u; break; } } if (user != null) { return RedirectToAction("Perfil"); } else { ModelState.AddModelError("", "Nome inválido."); } } // If we got this far, something failed, redisplay form return View("Login"); }
public ActionResult Register(Utilizador model) { if (ModelState.IsValid) { var useraux = new Utilizador() { Nome = model.Nome, Idade = model.Idade }; bool exists = false; var users = userDAO.Utilizador; // Verificar existência de utilizador foreach (Utilizador u in users) { if (u.Nome.Equals(useraux.Nome)) { exists = true; break; } } if (exists != true) { // Inicializar parametros relativos ao utilizador useraux.ProgressoGeral = 0; useraux.ModoInt = 0; // super interatividade desativada por defeito useraux.TotalExercicios = 0; useraux.ExerciciosPositivos = 0; useraux.TotalAlineas = 0; useraux.TotalAlineasCorretas = 0; useraux.TotalAulas = 0; userDAO.Utilizador.Add(useraux); // Atualizar o utilizador atual em cache no controller user = useraux; int objetosEscritos = userDAO.SaveChanges(); if (objetosEscritos == 1) { acabadoDeRegistar = true; Personalidade.FALA_ATUAL = Personalidade.APRESENTACAO; Const.isAutenticated = true; // Passa automaticamente a estar autenticado Const.Idade = (int)model.Idade; Const.UserName = model.Nome; Personalidade.PRIMEIRA_AULA = true; Personalidade.PRIMEIRO_EXERCICIO = true; return RedirectToAction("Definicoes", "Home"); } } } // Se chegamos aqui algo falhou, mostrar novamente formuário de registo return View("Register"); }
public ActionResult GuardarDefinicoes(Utilizador model, string Interatividades) { try { var urentry = userDAO.Utilizador.Where(us => us.Id == user.Id).ToList(); urentry.ForEach(us => us.ModoInt = Int32.Parse(Interatividades)); urentry.ForEach(us => us.Nome= model.Nome); urentry.ForEach(us => us.Idade = model.Idade); userDAO.SaveChanges(); user = userDAO.Utilizador.Find(user.Id); // Buscar dados atualizados do utilizador para variável em cache } catch (System.Data.SqlClient.SqlException) { } return RedirectToAction("Perfil"); }