public static ExerciceBaseConfig LoadLastConfigPourExercice(string nomExo) { ExerciceBaseConfig config = LoadExerciceBaseConfig(); var patientSingleton = Singleton.getInstance().PatientSingleton; using (ReaPlanDBEntities db = new ReaPlanDBEntities()) { PatientDB pat = (from p in db.PatientDBs where p.Id1 == patientSingleton.ID1 && p.Id2 == patientSingleton.ID2 && p.DateNaissance == patientSingleton.DateNaiss select p).FirstOrDefault(); if (pat != null) { JeuDB jeu = (from j in db.JeuDBs where j.NomJeu == nomExo select j).FirstOrDefault(); if (jeu != null) { ExerciceDB exo = (from e in db.ExerciceDBs where e.IdPatient == pat.IdPatient && e.IdJeu == jeu.IdJeu orderby e.Date orderby e.Heure descending select e).FirstOrDefault(); if (exo != null) { ConfigJeuDB conf = (from c in db.ConfigJeuDBs where c.IdExercice == exo.IdExercice select c).FirstOrDefault(); if (conf != null) { config.Init = (byte)conf.Initialisation; config.RaideurLat = (byte)conf.RaideurLat; config.RaideurLong = (byte)conf.RaideurLong; config.Vitesse = (byte)conf.Vitesse; } } } } return(config); } }
public static List <PointEvoEval> ReturnPoint(int param, string nomJeu) { List <PointEvoEval> value = new List <PointEvoEval>(); user = Singleton.getInstance(); using (ReaPlanDBEntities context = new ReaPlanDBEntities()) { var requete = from c in context.PatientDBs where c.Nom == user.PatientSingleton.Nom && c.Prenom == user.PatientSingleton.Prenom && c.DateNaissance == user.PatientSingleton.DateNaiss.Date select c; var patient = requete.FirstOrDefault(); JeuDB jeu = (from j in context.JeuDBs where j.NomJeu == nomJeu select j).FirstOrDefault(); var requeteEx = (from c in context.ExerciceDBs where c.IdPatient == patient.IdPatient && c.IdJeu == jeu.IdJeu select c); //trie les exo par date puis par heure du plus grand au plus petit) var listeExerciceOrdre = requeteEx.OrderByDescending(c => c.Date).ThenBy(h => h.Heure); List <ExerciceDB> listeExo = new List <ExerciceDB>(); //cree une liste d'exo avec seulement le dernier exo de chaque jours for (int i = 0; i < listeExerciceOrdre.Count(); i++) { if (i < listeExerciceOrdre.Count() - 1) { if (listeExerciceOrdre.ToArray().ElementAt(i).Date != listeExerciceOrdre.ToArray().ElementAt(i + 1).Date) { listeExo.Add(listeExerciceOrdre.ToArray().ElementAt(i)); } } else { listeExo.Add(listeExerciceOrdre.ToArray().ElementAt(i)); } } foreach (var exo in listeExo) { PointEvoEval p = new PointEvoEval(); var resu = from c in context.ParametreExDBs where c.IdParametreJeuDB == param && c.IdExercice == exo.IdExercice select c; if (resu.ToArray().Count() != 0) { p.Moyenne = Convert.ToDouble(resu.ToArray().ElementAt(0).Resultat); p.EcartT = Convert.ToDouble(resu.ToArray().ElementAt(0).EcartType); p.CV = Convert.ToDouble(resu.ToArray().ElementAt(0).CoefficientVariation); p.Date = exo.Date; value.Add(p); } } //inverse l'ordre d'apparition des dates value.Reverse(); return(value); } }