Example #1
0
        private static string FindTypeOfExercice(ExerciceEvaluation exoEval)
        {
            Singleton singlePatient = Singleton.getInstance();
            string    fileName;

            if (exoEval.TypeEval == ExerciceEvalTypes.Forme)
            {
                ExerciceForme exoForme = (ExerciceForme)exoEval;
                if (exoForme.TypeForme == FormeType.Carré)
                {
                    fileName = "Square";
                }
                else
                {
                    fileName = "Circle";
                }
            }
            else
            {
                ExerciceMouvement exoMouv = (ExerciceMouvement)exoEval;
                if (exoMouv.TypeDroite == DroiteType.Vertical)
                {
                    fileName = "Target";
                }
                else
                {
                    fileName = "FreeAmplitude";
                }
            }
            return(fileName);
        }
        public static FrameExerciceDataModel ExercicesEvaluationToFrameExercice(ExerciceEvaluation exercice, int i)
        {
            FrameExerciceDataModel _exFrame = new FrameExerciceDataModel();

            if (exercice.TypeEval == ExerciceEvalTypes.Forme)
            {
                ExerciceForme temps = (ExerciceForme)exercice;
                _exFrame.Address = ConfigAddresses.Formes;

                switch (temps.TypeForme) // polygones
                {
                case FormeType.Carré: _exFrame.Data1 = 0x04;
                    break;

                case FormeType.Cercle: _exFrame.Data1 = 0x28;       // 0x1E
                    break;

                case FormeType.Triangle: _exFrame.Data1 = 0x06;     // Hexagone
                    break;
                }
                _exFrame.Data2 = (byte)(4 * temps.Taille);
                _exFrame.Data3 = temps.Origine;  // TODO : peut etre ?
                _exFrame.Data4 = Convert.ToByte(temps.AllerRetour);
            }
            else
            {
                //if (exercice.Exercice[i].ExerciceType == ExerciceTypes.Cibles)
                //{
                //    ExerciceXDent temps = (ExerciceXDent)exercice.Exercice[i];
                //    _exFrame.Address = ConfigAddresses.Cibles;
                //    _exFrame.Data1 = temps.NbrsCibles;
                //    _exFrame.Data2 = temps.DistCibles;
                //    _exFrame.Data3 = temps.Anglecible;
                //    //_exFrame.Data4 = temps.Origine;  // TODO : peut etre ?
                ////}
                //else
                //{
                //if (exercice.TypeExercice == ExerciceTypes.Mouvements_Complexes)
                //{
                //    ExerciceMouvement temps = (ExerciceMouvement)exercice.Exercice[i];
                //    _exFrame.Address = ConfigAddresses.Mouvements;

                //    switch (temps.DroiteType)
                //    {
                //        case DroiteType.Horizontal: _exFrame.Data1 = 0x02;
                //            break;
                //        case DroiteType.Oblique: _exFrame.Data1 = 0x03;
                //            break;
                //        case DroiteType.Vertical: _exFrame.Data1 = 0x01;
                //            break;
                //        default: _exFrame.Data1 = 0x01; // TODO : Erreur !
                //            break;
                //    }

                //    _exFrame.Data2 = temps.PositionDroite;
                //}
                //else
                //{
                if (exercice.TypeEval == ExerciceEvalTypes.Mouvement)
                {
                    ExerciceMouvement temps = (ExerciceMouvement)exercice;
                    _exFrame.Address = ConfigAddresses.Mouvements;          // TODO : faire un mod spécifique !

                    switch (temps.TypeDroite)
                    {
                    case DroiteType.Vertical: _exFrame.Data1 = 0x01;
                        break;

                    case DroiteType.VerticalLong: _exFrame.Data1 = 0x04;
                        break;

                    case DroiteType.Tonus: _exFrame.Data1 = 0x05;             // TONUS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                        break;

                    default: _exFrame.Data1 = 0x01;             // TODO : Erreur !
                        break;
                    }

                    _exFrame.Data2 = temps.PositionDroite;
                }
                else
                {
                    // TODO : Erreur !
                }
                //}
                //}
            }
            return(_exFrame);
        }
Example #3
0
        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");
        }