Esempio n. 1
0
    //pass uniqueID value and then will return one record. do like this:
    //EncoderSQL eSQL = (EncoderSQL) SqliteEncoder.Select(false, myUniqueID, 0, 0, "")[0];
    //or
    //pass uniqueID==-1 and personID, sessionID, signalOrCurve values, and will return some records
    //personID can be -1 to get all on that session
    //sessionID can be -1 to get all sessions
    //signalOrCurve can be "all"
    public static ArrayList EncoderSelect103(bool dbconOpened,
                                             int uniqueID, int personID, int sessionID, string signalOrCurve, bool onlyActive)
    {
        if (!dbconOpened)
        {
            Sqlite.Open();
        }

        string personIDStr = "";

        if (personID != -1)
        {
            personIDStr = " personID = " + personID + " AND ";
        }

        string sessionIDStr = "";

        if (sessionID != -1)
        {
            sessionIDStr = " sessionID = " + sessionID + " AND ";
        }

        string selectStr = "";

        if (uniqueID != -1)
        {
            selectStr = Constants.EncoderTable + ".uniqueID = " + uniqueID;
        }
        else
        {
            if (signalOrCurve == "all")
            {
                selectStr = personIDStr + sessionIDStr;
            }
            else
            {
                selectStr = personIDStr + sessionIDStr + " signalOrCurve = \"" + signalOrCurve + "\"";
            }
        }

        string andString = "";

        if (selectStr != "")
        {
            andString = " AND ";
        }

        string onlyActiveString = "";

        if (onlyActive)
        {
            onlyActiveString = " AND " + Constants.EncoderTable + ".status = \"active\" ";
        }

        dbcmd.CommandText = "SELECT " +
                            Constants.EncoderTable + ".*, " + Constants.EncoderExerciseTable + ".name FROM " +
                            Constants.EncoderTable + ", " + Constants.EncoderExerciseTable +
                            " WHERE " + selectStr +
                            andString + Constants.EncoderTable + ".exerciseID = " +
                            Constants.EncoderExerciseTable + ".uniqueID " +
                            onlyActiveString +
                            " ORDER BY substr(filename,-23,19)"; //this contains the date of capture signal

        LogB.SQL(dbcmd.CommandText.ToString());

        SqliteDataReader reader;

        reader = dbcmd.ExecuteReader();

        ArrayList array = new ArrayList(1);

        EncoderSQL103 es = new EncoderSQL103();

        while (reader.Read())
        {
            es = new EncoderSQL103(
                reader[0].ToString(),                                                 //uniqueID
                Convert.ToInt32(reader[1].ToString()),                                //personID
                Convert.ToInt32(reader[2].ToString()),                                //sessionID
                Convert.ToInt32(reader[3].ToString()),                                //exerciseID
                reader[4].ToString(),                                                 //eccon
                reader[5].ToString(),                                                 //laterality
                reader[6].ToString(),                                                 //extraWeight
                reader[7].ToString(),                                                 //signalOrCurve
                reader[8].ToString(),                                                 //filename
                reader[9].ToString(),                                                 //url
                Convert.ToInt32(reader[10].ToString()),                               //time
                Convert.ToInt32(reader[11].ToString()),                               //minHeight
                Convert.ToDouble(Util.ChangeDecimalSeparator(reader[12].ToString())), //smooth UNUSED
                reader[13].ToString(),                                                //description
                reader[14].ToString(),                                                //status
                reader[15].ToString(),                                                //videoURL
                reader[16].ToString(),                                                //encoderConfigurationName
                Convert.ToInt32(reader[17].ToString()),                               //inertiaMomentum
                Convert.ToDouble(Util.ChangeDecimalSeparator(reader[18].ToString())), //diameter
                reader[19].ToString(),                                                //future1
                reader[20].ToString(),                                                //future2
                reader[21].ToString(),                                                //future3
                reader[22].ToString()                                                 //EncoderExercise.name
                );
            array.Add(es);
        }
        reader.Close();
        if (!dbconOpened)
        {
            Sqlite.Close();
        }

        return(array);
    }
Esempio n. 2
0
    //pass uniqueID value and then will return one record. do like this:
    //EncoderSQL eSQL = (EncoderSQL) SqliteEncoder.Select(false, myUniqueID, 0, 0, "")[0];
    //or
    //pass uniqueID==-1 and personID, sessionID, signalOrCurve values, and will return some records
    //personID can be -1 to get all on that session
    //sessionID can be -1 to get all sessions
    //signalOrCurve can be "all"
    public static ArrayList EncoderSelect103(bool dbconOpened, 
			int uniqueID, int personID, int sessionID, string signalOrCurve, bool onlyActive)
    {
        if(! dbconOpened)
            Sqlite.Open();

        string personIDStr = "";
        if(personID != -1)
            personIDStr = " personID = " + personID + " AND ";

        string sessionIDStr = "";
        if(sessionID != -1)
            sessionIDStr = " sessionID = " + sessionID + " AND ";

        string selectStr = "";
        if(uniqueID != -1)
            selectStr = Constants.EncoderTable + ".uniqueID = " + uniqueID;
        else {
            if(signalOrCurve == "all")
                selectStr = personIDStr + sessionIDStr;
            else
                selectStr = personIDStr + sessionIDStr + " signalOrCurve = \"" + signalOrCurve + "\"";
        }

        string andString = "";
        if(selectStr != "")
            andString = " AND ";

        string onlyActiveString = "";
        if(onlyActive)
            onlyActiveString = " AND " + Constants.EncoderTable + ".status = \"active\" ";

        dbcmd.CommandText = "SELECT " +
            Constants.EncoderTable + ".*, " + Constants.EncoderExerciseTable + ".name FROM " +
            Constants.EncoderTable  + ", " + Constants.EncoderExerciseTable  +
            " WHERE " + selectStr +
            andString + Constants.EncoderTable + ".exerciseID = " +
                Constants.EncoderExerciseTable + ".uniqueID " +
                onlyActiveString +
            " ORDER BY substr(filename,-23,19)"; //this contains the date of capture signal

        LogB.SQL(dbcmd.CommandText.ToString());

        SqliteDataReader reader;
        reader = dbcmd.ExecuteReader();

        ArrayList array = new ArrayList(1);

        EncoderSQL103 es = new EncoderSQL103();
        while(reader.Read()) {
            es = new EncoderSQL103 (
                    reader[0].ToString(),			//uniqueID
                    Convert.ToInt32(reader[1].ToString()),	//personID
                    Convert.ToInt32(reader[2].ToString()),	//sessionID
                    Convert.ToInt32(reader[3].ToString()),	//exerciseID
                    reader[4].ToString(),			//eccon
                    reader[5].ToString(),			//laterality
                    reader[6].ToString(),			//extraWeight
                    reader[7].ToString(),			//signalOrCurve
                    reader[8].ToString(),			//filename
                    reader[9].ToString(),			//url
                    Convert.ToInt32(reader[10].ToString()),	//time
                    Convert.ToInt32(reader[11].ToString()),	//minHeight
                    Convert.ToDouble(Util.ChangeDecimalSeparator(reader[12].ToString())), //smooth UNUSED
                    reader[13].ToString(),			//description
                    reader[14].ToString(),			//status
                    reader[15].ToString(),			//videoURL
                    reader[16].ToString(),			//encoderConfigurationName
                    Convert.ToInt32(reader[17].ToString()),	//inertiaMomentum
                    Convert.ToDouble(Util.ChangeDecimalSeparator(reader[18].ToString())), //diameter
                    reader[19].ToString(),			//future1
                    reader[20].ToString(),			//future2
                    reader[21].ToString(),			//future3
                    reader[22].ToString()			//EncoderExercise.name
                    );
            array.Add (es);
        }
        reader.Close();
        if(! dbconOpened)
            Sqlite.Close();

        return array;
    }