private static void AjoutPartieDataBaseFreeAmplitude(FreeAmplitude exo) { Singleton singlePatient = Singleton.getInstance(); using (ReaPlanDBEntities bdd = new ReaPlanDBEntities()) { var requete = from c in bdd.JeuDBs where c.NomJeu == "FreeAmplitude" select c; var jeuBD = requete.FirstOrDefault(); var requeteP = from c in bdd.PatientDBs where c.Nom == singlePatient.PatientSingleton.Nom && c.Prenom == singlePatient.PatientSingleton.Prenom && c.DateNaissance == singlePatient.PatientSingleton.DateNaiss.Date select c; var patient = requeteP.FirstOrDefault(); var requeteA = from c in bdd.TherapeuteDBs where c.Nom == singlePatient.Admin.Nom && c.Prenom == singlePatient.Admin.Prenom && c.Login == singlePatient.Admin.NomUtilisateur select c; var thera = requeteA.FirstOrDefault(); ExerciceDB ex = new ExerciceDB() { Date = DateTime.Now, Heure = DateTime.Now.TimeOfDay, IdPatient = patient.IdPatient, IdUtilisateur = thera.IdUtilisateur, IdJeu = jeuBD.IdJeu }; bdd.AddToExerciceDBs(ex); bdd.SaveChanges(); //Recherche de l'id du dernier ex fait par le patient var requeteExDB = from c in bdd.ExerciceDBs select c; var exDB = requeteExDB.AsEnumerable().LastOrDefault(); //Ajout pour amplitude var requeteParamAmplitude = from c in bdd.ParametreJeuDBs where c.LibelleParametre == "Amplitude" && c.IdJeu == jeuBD.IdJeu select c; var paramJeuAmplitude = requeteParamAmplitude.FirstOrDefault(); ParametreExDB paramExDBAmplitude = new ParametreExDB() { IdExercice = exDB.IdExercice, IdParametreJeuDB = paramJeuAmplitude.IdParametreJeuDB, Resultat = (decimal)exo.Amplitude, CoefficientVariation = (decimal)exo.CVAmplitude, EcartType = (decimal)exo.EcartTypeAmp }; bdd.AddToParametreExDBs(paramExDBAmplitude); bdd.SaveChanges(); //Ajout pour vitesse moyenne var requeteParamVitM = from c in bdd.ParametreJeuDBs where c.LibelleParametre == "VitesseMoyenne" && c.IdJeu == jeuBD.IdJeu select c; var paramjeuVitM = requeteParamVitM.FirstOrDefault(); ParametreExDB paramExDBVitM = new ParametreExDB() { IdExercice = exDB.IdExercice, IdParametreJeuDB = paramjeuVitM.IdParametreJeuDB, Resultat = (decimal)exo.VitesseMoy, CoefficientVariation = (decimal)exo.CVVitesseMoy, EcartType = (decimal)exo.EcartTypeVMoy }; bdd.AddToParametreExDBs(paramExDBVitM); bdd.SaveChanges(); //Ajout pour vitesse max var requeteParamVitMax = from c in bdd.ParametreJeuDBs where c.LibelleParametre == "VitesseMax" && c.IdJeu == jeuBD.IdJeu select c; var paramjeuVitMax = requeteParamVitMax.FirstOrDefault(); ParametreExDB paramExDBVitMax = new ParametreExDB() { IdExercice = exDB.IdExercice, IdParametreJeuDB = paramjeuVitMax.IdParametreJeuDB, Resultat = (decimal)exo.VitesseMax, CoefficientVariation = (decimal)exo.CVVitesseMax, EcartType = (decimal)exo.EcartTypeVMax }; bdd.AddToParametreExDBs(paramExDBVitMax); bdd.SaveChanges(); //Ajout pour Straightness var requeteParamSt = from c in bdd.ParametreJeuDBs where c.LibelleParametre == "Straigthness" && c.IdJeu == jeuBD.IdJeu select c; var paramjeuSt = requeteParamSt.FirstOrDefault(); ParametreExDB paramExDBSt = new ParametreExDB() { IdExercice = exDB.IdExercice, IdParametreJeuDB = paramjeuSt.IdParametreJeuDB, Resultat = (decimal)exo.Linearite, CoefficientVariation = (decimal)exo.CVLinearite, EcartType = (decimal)exo.EcartTypeLin }; bdd.AddToParametreExDBs(paramExDBSt); bdd.SaveChanges(); //Ajout pour speedMetric var requeteParamSM = from c in bdd.ParametreJeuDBs where c.LibelleParametre == "SpeedMetric" && c.IdJeu == jeuBD.IdJeu select c; var paramjeuSM = requeteParamSM.FirstOrDefault(); ParametreExDB paramExDBSM = new ParametreExDB() { IdExercice = exDB.IdExercice, IdParametreJeuDB = paramjeuSM.IdParametreJeuDB, Resultat = (decimal)exo.SpeedMetric, CoefficientVariation = (decimal)exo.CVSpeedMetric, EcartType = (decimal)exo.EcartTypeSM }; bdd.AddToParametreExDBs(paramExDBSM); bdd.SaveChanges(); //Ajout pour speedMetric var requeteParamJM = from c in bdd.ParametreJeuDBs where c.LibelleParametre == "JerkMetric" && c.IdJeu == jeuBD.IdJeu select c; var paramjeuJM = requeteParamJM.FirstOrDefault(); ParametreExDB paramExDBJM = new ParametreExDB() { IdExercice = exDB.IdExercice, IdParametreJeuDB = paramjeuJM.IdParametreJeuDB, Resultat = (decimal)exo.JerkMetric, CoefficientVariation = (decimal)exo.CVJerkMetric, EcartType = (decimal)exo.EcartTypeJM }; bdd.AddToParametreExDBs(paramExDBJM); bdd.SaveChanges(); } }
public static void AjoutPartie(string dossier, ExerciceEvaluation exoEval) { string fileName = FindTypeOfExercice(exoEval); string dateJour = String.Format("{0:00}", DateTime.Now.Day) + "/" + String.Format("{0:00}", DateTime.Now.Month) + "/" + DateTime.Now.Year; XDocument file = XDocument.Load(@"../../Files/Patients/" + dossier + "/Evaluation/" + fileName + ".xml"); XElement newDonneeCommun = new XElement("Partie", new XElement("Date", dateJour), new XElement("Speed", new XElement("ResultatMoyen", exoEval.VitesseMoy.ToString()), new XElement("EcartType", exoEval.EcartTypeVMoy.ToString()), new XElement("CoefficientVariation", exoEval.CVVitesseMoy.ToString())), new XElement("PeakSpeed", new XElement("ResultatMoyen", exoEval.VitesseMax.ToString()), new XElement("EcartType", exoEval.EcartTypeVMax.ToString()), new XElement("CoefficientVariation", exoEval.CVVitesseMax.ToString())), new XElement("Jerk", new XElement("ResultatMoyen", exoEval.JerkMetric.ToString()), new XElement("EcartType", exoEval.EcartTypeJM.ToString()), new XElement("CoefficientVariation", exoEval.CVJerkMetric.ToString())), new XElement("SpeedMetric", new XElement("ResultatMoyen", exoEval.SpeedMetric.ToString()), new XElement("EcartType", exoEval.EcartTypeSM.ToString()), new XElement("CoefficientVariation", exoEval.CVSpeedMetric.ToString()))); XElement newDonnee; if (fileName == "Square" || fileName == "Circle") { ExerciceForme exoForme = (ExerciceForme)exoEval; newDonnee = new XElement("Precision", new XElement("ResultatMoyen", exoForme.ShapeAccuracy.ToString()), new XElement("EcartType", exoForme.EcartTypeSA.ToString()), new XElement("CoefficientVariation", exoForme.CVShapeAccuracy.ToString())); } else { ExerciceMouvement exoMouv = (ExerciceMouvement)exoEval; newDonnee = new XElement("Straightness", new XElement("ResultatMoyen", exoMouv.Linearite.ToString()), new XElement("EcartType", exoMouv.EcartTypeLin.ToString()), new XElement("CoefficientVariation", exoMouv.CVLinearite.ToString())); XElement newDonneeMouv; if (exoMouv.TypeDroite == DroiteType.Vertical) { Target target = (Target)exoMouv; newDonneeMouv = new XElement("Accuracy", new XElement("ResultatMoyen", target.Precision.ToString()), new XElement("EcartType", target.EcartTypePre.ToString()), new XElement("CoefficientVariation", target.CVPrecision.ToString())); } else { FreeAmplitude freeAmpl = (FreeAmplitude)exoMouv; newDonneeMouv = new XElement("Amplitude", new XElement("ResultatMoyen", freeAmpl.Amplitude.ToString()), new XElement("EcartType", freeAmpl.EcartTypeAmp.ToString()), new XElement("CoefficientVariation", freeAmpl.CVAmplitude.ToString())); } newDonnee.Add(newDonneeMouv); } newDonneeCommun.Add(newDonnee); file.Root.Add(newDonneeCommun); file.Save(@"../../Files/Patients/" + dossier + "/Evaluation/" + fileName + ".xml"); }