示例#1
0
    public static void Initialize()
    {
        superAdm     = false;
        showQrCode   = false;
        choiceAvatar = 1;

        if (test == false)
        {
            path = "URI=file:" + Application.streamingAssetsPath + "/fisiotech.db";
        }
        else
        {
            path = "URI=file:" + Application.streamingAssetsPath + "/test_fisiotech.db";
        }

        var directory = path.Substring(9, path.Length - 9);

        if (!System.IO.File.Exists(directory))
        {
            SqliteConnection.CreateFile(directory);
        }

        Pessoa.Create();
        Fisioterapeuta.Create();
        Paciente.Create();
        Musculo.Create();
        Movimento.Create();
        Sessao.Create();
        Exercicio.Create();
        MovimentoMusculo.Create();
        PontosRotuloPaciente.Create();
        PontosRotuloFisioterapeuta.Create();
    }
    /**
     * Salva o paciente no banco.
     */
    public void saveMovement()
    {
        var muscles = musculos.text.Split(',');

        string movunderscored    = (nomeMovimento.text).Replace(' ', '_');
        string physiounderscored = (GlobalController.instance.admin.persona.nomePessoa).Replace(' ', '_');

        string pathSave = GlobalController.instance.admin.idPessoa + "-";

        pathSave += physiounderscored + "/";
        pathSave += movunderscored + "-";
        pathSave += DateTime.Now.ToString("HHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo);

        Movimento.Insert(GlobalController.instance.admin.idFisioterapeuta,
                         nomeMovimento.text, descricao.text, pathSave);

        List <Movimento> movementsList = Movimento.Read();

        foreach (var muscle in muscles)
        {
            name = new string((from c in muscle where char.IsLetterOrDigit(c) select c).ToArray());
            if (!checkMuscle(name))
            {
                Musculo.Insert(name);
                List <Musculo> musclesList = Musculo.Read();
                MovimentoMusculo.Insert(musclesList[musclesList.Count - 1].idMusculo, movementsList[movementsList.Count - 1].idMovimento);
            }
        }

        GlobalController.instance.movement = movementsList[movementsList.Count - 1];
        SceneManager.LoadScene("Clinic");
    }
    public static void DeleteMovement()
    {
        int IdMovimento = GlobalController.instance.movement.idMovimento;

        List <Exercicio> allExercises             = Exercicio.Read();
        List <PontosRotuloFisioterapeuta> allPrfs = PontosRotuloFisioterapeuta.Read();
        List <PontosRotuloPaciente>       allPrps = PontosRotuloPaciente.Read();
        List <MovimentoMusculo>           mm      = MovimentoMusculo.Read();

        foreach (var prf in allPrfs)
        {
            if (prf.idMovimento == IdMovimento)
            {
                PontosRotuloFisioterapeuta.DeleteValue(prf.idRotuloFisioterapeuta);
            }
        }


        foreach (var ex in allExercises)
        {
            if (ex.idMovimento == IdMovimento)
            {
                foreach (var prp in allPrps)
                {
                    if (prp.idExercicio == ex.idExercicio)
                    {
                        PontosRotuloPaciente.DeleteValue(prp.idRotuloPaciente);
                    }
                }
                string pathEx = string.Format("{0}/Exercicios/{1}", Application.dataPath, ex.pontosExercicio);
                if (File.Exists(pathEx))
                {
                    File.Delete(pathEx);
                }
                Exercicio.DeleteValue(ex.idExercicio);
            }
        }

        foreach (var m in mm)
        {
            if (m.idMovimento == IdMovimento)
            {
                MovimentoMusculo.DeleteValue(m.idMovimento, m.idMusculo);
            }
        }

        string pathMov = string.Format("{0}/Movimentos/{1}", Application.dataPath, GlobalController.instance.movement.pontosMovimento);

        if (File.Exists(pathMov))
        {
            File.Delete(pathMov);
        }

        Movimento.DeleteValue(IdMovimento);


        Flow.StaticMovements();
    }
    /**
     * Salva o Movimento no banco.
     */
    public void saveMovement()
    {
        List <InputField> allInputs = new List <InputField>();

        allInputs.Add(nomeMovimento);
        allInputs.Add(musculos);
        allInputs.Add(descricao);

        if (ValidInput(allInputs))
        {
            foreach (var x in allInputs)
            {
                ApplyColor(x, 1);
            }

            var muscles = musculos.text.Split(',');

            string movunderscored    = (nomeMovimento.text).Replace(' ', '_');
            string physiounderscored = (GlobalController.instance.admin.persona.nomePessoa).Replace(' ', '_');

            string pathSave = GlobalController.instance.admin.idPessoa + "-";

            pathSave += physiounderscored + "/";
            pathSave += movunderscored + "-";
            pathSave += DateTime.Now.ToString("HHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo);

            Movimento.Insert(GlobalController.instance.admin.idFisioterapeuta,
                             nomeMovimento.text, pathSave + ".points", descricao.text);

            List <Movimento> movementsList = Movimento.Read();

            foreach (var muscle in muscles)
            {
                name = new string((from c in muscle where char.IsLetterOrDigit(c) select c).ToArray());
                if (!checkMuscle(name))
                {
                    Musculo.Insert(name);
                    List <Musculo> musclesList = Musculo.Read();
                    MovimentoMusculo.Insert(musclesList[musclesList.Count - 1].idMusculo, movementsList[movementsList.Count - 1].idMovimento);
                }
            }

            GlobalController.patientOrPhysio   = true;
            GlobalController.instance.movement = movementsList[movementsList.Count - 1];
            if (GlobalController.Sensor == false)
            {
                Flow.StaticRealtimeGraphKinectPhysio();
            }
            else
            {
                Flow.StaticRealtimeGraphUDPPhysio();
            }
        }
    }
示例#5
0
 void Initialize()
 {
     Pessoa.Create();
     Fisioterapeuta.Create();
     Paciente.Create();
     Musculo.Create();
     Movimento.Create();
     Sessao.Create();
     Exercicio.Create();
     MovimentoMusculo.Create();
     PontosRotuloPaciente.Create();
     PontosRotuloFisioterapeuta.Create();
 }
示例#6
0
 public static void DropAll()
 {
     if (test == true)
     {
         Pessoa.Drop();
         Fisioterapeuta.Drop();
         Paciente.Drop();
         Musculo.Drop();
         Movimento.Drop();
         Sessao.Drop();
         Exercicio.Drop();
         MovimentoMusculo.Drop();
         PontosRotuloPaciente.Drop();
         PontosRotuloFisioterapeuta.Drop();
     }
 }
        public void TestMovimentoMusculoDrop()
        {
            using (var conn = new SqliteConnection(GlobalController.path))
            {
                conn.Open();

                MovimentoMusculo.Drop();

                var check = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='MOVIMENTOMUSCULO';";

                var id = 0;

                using (var cmd = new SqliteCommand(check, conn))
                {
                    using (IDataReader reader = cmd.ExecuteReader())
                    {
                        try
                        {
                            while (reader.Read())
                            {
                                if (!reader.IsDBNull(0))
                                {
                                    id = reader.GetInt32(0);
                                }
                            }
                        }
                        finally
                        {
                            reader.Dispose();
                            reader.Close();
                        }
                    }
                    cmd.Dispose();
                }

                Assert.AreEqual(id, 0);

                conn.Dispose();
                conn.Close();
            }
            return;
        }
        public void TestMovimentoMusculoRead()
        {
            using (var conn = new SqliteConnection(GlobalController.path))
            {
                conn.Open();

                Pessoa.Insert("fake name1", "m", "1995-01-01", "6198732711", null);
                Pessoa.Insert("fake name2", "m", "1995-01-02", "6198732712", null);

                Fisioterapeuta.Insert(1, "abracadabra1", "demais1", null, null);
                Fisioterapeuta.Insert(2, "abracadabra2", "demais2", "DF", "123424");

                Movimento.Insert(1, "Movimento1", "Musculo Redondo Maior", null);
                Movimento.Insert(2, "Movimento2", "Musculo Redondo Maior", "Dificuldade nesse local");

                Musculo.Insert("bíceps");
                Musculo.Insert("tríceps");

                MovimentoMusculo.Insert(1, 1);
                MovimentoMusculo.Insert(1, 2);
                MovimentoMusculo.Insert(2, 1);
                MovimentoMusculo.Insert(2, 2);

                List <MovimentoMusculo> allMuscMov = MovimentoMusculo.Read();

                for (int i = 1, j = 1, k = 1; i <= allMuscMov.Count; i++, k = 3 - k)
                {
                    Assert.AreEqual(allMuscMov[i - 1].idMusculo, j);
                    Assert.AreEqual(allMuscMov[i - 1].idMovimento, k);
                    if (i == 2)
                    {
                        j++;
                    }
                }

                conn.Dispose();
                conn.Close();
            }

            return;
        }
        public void TestMovimentoMusculoDeleteValue()
        {
            using (var conn = new SqliteConnection(GlobalController.path))
            {
                conn.Open();

                Pessoa.Insert("fake name1", "m", "1995-01-01", "6198732711", null);
                Pessoa.Insert("fake name2", "m", "1995-01-02", "6198732712", null);

                Fisioterapeuta.Insert(1, "abracadabra1", "demais1", null, null);
                Fisioterapeuta.Insert(2, "abracadabra2", "demais2", "DF", "123424");

                Movimento.Insert(1, "Movimento1", "Musculo Redondo Maior", null);
                Musculo.Insert("bíceps");

                MovimentoMusculo.Insert(1, 1);

                var check = "SELECT EXISTS(SELECT 1 FROM 'MOVIMENTOMUSCULO' WHERE \"idMusculo\" = \"1\" AND \"idMovimento\" = \"1\" LIMIT 1)";

                var id = 0;
                using (var cmd = new SqliteCommand(check, conn))
                {
                    using (IDataReader reader = cmd.ExecuteReader())
                    {
                        try
                        {
                            while (reader.Read())
                            {
                                if (!reader.IsDBNull(0))
                                {
                                    id = reader.GetInt32(0);
                                }
                            }
                        }
                        finally
                        {
                            reader.Dispose();
                            reader.Close();
                        }
                    }
                    cmd.Dispose();
                }

                Assert.AreEqual(id, 1);
                MovimentoMusculo.DeleteValue(1, 1);

                id = 0;
                using (var cmd = new SqliteCommand(check, conn))
                {
                    using (IDataReader reader = cmd.ExecuteReader())
                    {
                        try
                        {
                            while (reader.Read())
                            {
                                if (!reader.IsDBNull(0))
                                {
                                    id = reader.GetInt32(0);
                                }
                            }
                        }
                        finally
                        {
                            reader.Dispose();
                            reader.Close();
                        }
                    }
                    cmd.Dispose();
                }

                Assert.AreEqual(id, 0);

                conn.Dispose();
                conn.Close();
            }
            return;
        }
        public void TestMovimentoMusculoInsert()
        {
            using (var conn = new SqliteConnection(GlobalController.path))
            {
                conn.Open();

                Pessoa.Insert("fake name1", "m", "1995-01-01", "6198732711", null);
                Pessoa.Insert("fake name2", "m", "1995-01-02", "6198732712", null);

                Fisioterapeuta.Insert(1, "abracadabra1", "demais1", null, null);
                Fisioterapeuta.Insert(2, "abracadabra2", "demais2", "DF", "123424");

                Movimento.Insert(1, "Movimento1", "Musculo Redondo Maior", null);
                Movimento.Insert(2, "Movimento2", "Musculo Redondo Maior", "Dificuldade nesse local");

                Musculo.Insert("bíceps");
                Musculo.Insert("tríceps");

                MovimentoMusculo.Insert(1, 1);
                MovimentoMusculo.Insert(1, 2);
                MovimentoMusculo.Insert(2, 1);
                MovimentoMusculo.Insert(2, 2);

                var check = "SELECT * FROM MOVIMENTOMUSCULO;";

                var id = 0;
                int i  = 1;
                int j  = 1;
                int k  = 1;
                using (var cmd = new SqliteCommand(check, conn))
                {
                    using (IDataReader reader = cmd.ExecuteReader())
                    {
                        try
                        {
                            while (reader.Read())
                            {
                                if (!reader.IsDBNull(0))
                                {
                                    id = reader.GetInt32(0);
                                    Assert.AreEqual(id, j);
                                }

                                if (!reader.IsDBNull(1))
                                {
                                    id = reader.GetInt32(1);
                                    Assert.AreEqual(id, i);
                                }

                                i = 3 - i;
                                if (k == 2)
                                {
                                    j++;
                                }
                                k++;
                            }
                        }
                        finally
                        {
                            reader.Dispose();
                            reader.Close();
                        }
                    }
                    cmd.Dispose();
                }
                conn.Dispose();
                conn.Close();
            }
            return;
        }
示例#11
0
    public static void DeletePhysiotherapist()
    {
        int IdFisioterapeuta = GlobalController.instance.admin.idFisioterapeuta;
        int IdPessoa         = GlobalController.instance.admin.persona.idPessoa;

        string nomePessoa = (GlobalController.instance.admin.persona.nomePessoa).Replace(' ', '_');
        string nomePasta  = string.Format("{0}/Movimentos/{1}-{2}", Application.dataPath, IdPessoa, nomePessoa);

        List <Movimento> allMovements            = Movimento.Read();
        List <Sessao>    allSessions             = Sessao.Read();
        List <PontosRotuloFisioterapeuta> allPRF = PontosRotuloFisioterapeuta.Read();
        List <Exercicio>        allExercises     = Exercicio.Read();
        List <MovimentoMusculo> allMovMuscles    = MovimentoMusculo.Read();

        foreach (var movements in allMovements)
        {
            if (movements.idFisioterapeuta == IdFisioterapeuta)
            {
                foreach (var prf in allPRF)
                {
                    if (prf.idMovimento == movements.idMovimento)
                    {
                        PontosRotuloFisioterapeuta.DeleteValue(prf.idRotuloFisioterapeuta);
                    }
                }

                foreach (var mvm in allMovMuscles)
                {
                    if (mvm.idMovimento == movements.idMovimento)
                    {
                        MovimentoMusculo.DeleteValue(mvm.idMovimento, mvm.idMusculo);
                    }
                }

                foreach (var execises in allExercises)
                {
                    if (execises.idMovimento == movements.idMovimento)
                    {
                        Exercicio.DeleteValue(execises.idExercicio);
                    }
                }

                Movimento.DeleteValue(movements.idMovimento);
            }
        }

        foreach (var session in allSessions)
        {
            if (session.idPaciente == IdFisioterapeuta)
            {
                Sessao.DeleteValue(session.idSessao);
            }
        }

        Fisioterapeuta.DeleteValue(IdFisioterapeuta);

        if (Directory.Exists(nomePasta))
        {
            Directory.Delete(nomePasta, true);
        }

        Flow.StaticNewPhysiotherapist();
    }
        public static IEnumerator TestDeleteMovement()
        {
            Flow.StaticLogin();

            yield return(new WaitForSeconds(1f));

            Pessoa.Insert("physio name1", "m", "1995-01-01", "6198732711", null);
            Fisioterapeuta.Insert(1, "abracadabra1", "demais1", null, null);

            var fisio = Fisioterapeuta.GetLast();

            GlobalController.instance.admin = fisio;

            Flow.StaticNewMovement();

            yield return(new WaitForSeconds(1f));

            var moveManager = GameObject.Find("/New Movement Manager").GetComponentInChildren <createMovement>();

            InputField aux = (InputField)moveManager.GetMemberValue("nomeMovimento");

            aux.text = "Fake Name";
            moveManager.SetMemberValue("nomeMovimento", aux);

            InputField aux1 = (InputField)moveManager.GetMemberValue("musculos");

            aux1.text = "Deltoide";
            moveManager.SetMemberValue("musculos", aux1);

            InputField aux3 = (InputField)moveManager.GetMemberValue("descricao");

            aux3.text = "Ahaha seloco";
            moveManager.SetMemberValue("descricao", aux3);

            moveManager.saveMovement();

            var   device = @"^(.*?(\bDevice|SDK\b)[^$]*)$";
            Regex rgx1   = new Regex(device, RegexOptions.IgnoreCase);

            LogAssert.Expect(LogType.Error, rgx1);

            yield return(new WaitForSeconds(1f));

            DeleteMovementButton.DeleteMovement();

            yield return(new WaitForSeconds(0.5f));

            int IdMovimento = GlobalController.instance.movement.idMovimento;

            var prfs = PontosRotuloFisioterapeuta.Read();

            foreach (var prf in prfs)
            {
                Assert.AreNotEqual(prf.idMovimento, IdMovimento);
            }

            var exers = Exercicio.Read();

            foreach (var exer in exers)
            {
                Assert.AreNotEqual(exer.idMovimento, IdMovimento);
            }

            var mms = MovimentoMusculo.Read();

            foreach (var mm in mms)
            {
                Assert.AreNotEqual(mm.idMovimento, IdMovimento);
            }

            var movements = Movimento.Read();

            foreach (var movement in movements)
            {
                Assert.AreNotEqual(movement.idMovimento, IdMovimento);
            }

            string pathMov = string.Format("{0}/Movimentos/{1}", Application.dataPath, GlobalController.instance.movement.pontosMovimento);

            bool dir = System.IO.File.Exists(pathMov);

            Assert.AreEqual(dir, false);
        }
示例#13
0
    /**
     * Salva o Movimento no banco.
     */
    public void saveMovement()
    {
        List <InputField> allInputs = new List <InputField>();

        allInputs.Add(nomeMovimento);
        allInputs.Add(musculos);
        allInputs.Add(descricao);

        if (ValidInput(allInputs))
        {
            foreach (var x in allInputs)
            {
                ApplyColor(x, 1);
            }

            var muscles = GetWords(musculos.text);

            string movunderscored    = (nomeMovimento.text).Replace(' ', '_');
            string physiounderscored = (GlobalController.instance.admin.persona.nomePessoa).Replace(' ', '_');

            StringBuilder path = new StringBuilder();
            path.Append(GlobalController.instance.admin.idPessoa + "-");
            path.Append(physiounderscored + "/");
            path.Append(movunderscored + "-");
            path.Append(DateTime.Now.ToString("HHmmss", System.Globalization.DateTimeFormatInfo.InvariantInfo));
            path.Append(".points");

            string pathSave = path.ToString();

            Movimento.Insert(GlobalController.instance.admin.idFisioterapeuta,
                             nomeMovimento.text,
                             pathSave,
                             descricao.text);

            var lastMovement = Movimento.GetLast();
            GlobalController.instance.movement = lastMovement;

            foreach (var muscle in muscles)
            {
                if (!checkMuscle(muscle))
                {
                    Musculo.Insert(muscle);
                    Musculo lastMusculo = Musculo.GetLast();
                    MovimentoMusculo.Insert(lastMusculo.idMusculo, lastMovement.idMovimento);
                }
                else
                {
                    Musculo musculoExistente = presentMuscle(muscle);
                    MovimentoMusculo.Insert(musculoExistente.idMusculo, lastMovement.idMovimento);
                }
            }

            GlobalController.patientOrPhysio = true;


            // Checks the sensor choice from the file

            StringBuilder sensorPath = new StringBuilder();
            sensorPath.Append("sensor.choice");

            string choicePath = sensorPath.ToString();

            if (File.Exists(choicePath))             // User has already chosen a sensor
            {
                string line      = File.ReadAllText(choicePath);
                int    fileValue = Convert.ToInt32(line);

                if (fileValue.Equals(0))                   // Kinect selected
                {
                    GlobalController.Sensor = false;
                }
                else if (fileValue.Equals(1))                   // UDP selected
                {
                    GlobalController.Sensor = true;
                }
            }
            else             // Kinect is default value
            {
                GlobalController.Sensor = false;
            }

            // Redirects user to correct scene

            if (GlobalController.Sensor == false)
            {
                Flow.StaticRealtimeGraphKinectPhysio();
            }
            else
            {
                Flow.StaticRealtimeGraphUDPPhysio();
            }
        }
    }