コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }