Beispiel #1
0
    /*
     * DB 1.20 -> 1.21
     * "Fixing loosing of encoder videoURL after recalculate"
     * each encoder signal can have saved some encoder curves
     * both are records on encoder table
     * connection between them is found in encoderSignalCurve table.
     * Problem since chronojump 1.4.9 and maybe earlier is on recalculate: videoURL is deleted on signal
     * but hopefully not in curve
     * Now this problem has been fixed in new code and it does not get deleted.
     *
     * Following  method: is to restore signals that lost their videoURL value
     */

    public static void FixLostVideoURLAfterEncoderRecalculate()
    {
        dbcmd.CommandText = "SELECT eSignal.uniqueID, eCurve.videoURL " +
                            "FROM encoder AS eSignal, encoder AS eCurve, encoderSignalCurve " +
                            "WHERE eSignal.signalOrCurve = \"signal\" AND eCurve.signalOrCurve = \"curve\" " +
                            "AND eSignal.videoURL = \"\" AND eCurve.videoURL != \"\" " +
                            "AND encoderSignalCurve.signalID = eSignal.uniqueID " +
                            "AND encoderSignalCurve.curveID = eCurve.uniqueID";

        LogB.SQL(dbcmd.CommandText.ToString());
        SqliteDataReader reader = dbcmd.ExecuteReader();

        IDNameList idnamelist = new IDNameList();

        while (reader.Read())
        {
            idnamelist.Add(new IDName(
                               Convert.ToInt32(reader[0].ToString()),   //encoder signal uniqueID (this signal has lost his videoURL)
                               reader[1].ToString()                     //videoURL of encoder curve
                               ));
        }
        reader.Close();

        foreach (IDName idname in idnamelist.l)
        {
            dbcmd.CommandText = "UPDATE encoder SET videoURL = \"" + idname.Name + "\" " +
                                "WHERE uniqueID = " + idname.UniqueID.ToString();
            LogB.SQL(dbcmd.CommandText.ToString());
            dbcmd.ExecuteNonQuery();
        }
    }
Beispiel #2
0
    protected internal static void addChronojumpProfileAndBilateral()
    {
        string [] jumps = SqliteJumpType.SelectJumpTypes(true, "", "", false);

        IDNameList jList = new IDNameList(jumps, ':');

        List <ExecuteAutoSQL> eaSQLlist = new List <ExecuteAutoSQL> {
            new ExecuteAutoSQL(-1, "Chronojump profile", ExecuteAuto.ModeTypes.BY_PERSONS, "Complete profile using jumps",
                               new List <int> {
                jList.FindID("SJ"), jList.FindID("SJl"), jList.FindID("CMJ"), jList.FindID("ABK"), jList.FindID("DJa")
            },
                               new List <int> {
            },
                               new List <int> {
            }
                               ),

            new ExecuteAutoSQL(-1, "Bilateral profile by persons", ExecuteAuto.ModeTypes.BY_PERSONS, "Bilateral / Unilateral tests",
                               new List <int> {
                jList.FindID("slCMJright"), jList.FindID("slCMJleft"), jList.FindID("CMJ"),
                jList.FindID("slCMJleft"), jList.FindID("CMJ"), jList.FindID("slCMJright"),
                jList.FindID("CMJ"), jList.FindID("slCMJleft"), jList.FindID("slCMJright"),
            },
                               new List <int> {
            },
                               new List <int> {
            }
                               ),

            new ExecuteAutoSQL(-1, "Bilateral profile by sets", ExecuteAuto.ModeTypes.BY_SETS, "Bilateral / Unilateral tests",
                               new List <int> {
                jList.FindID("slCMJright"), jList.FindID("slCMJleft"), jList.FindID("CMJ")
            },
                               new List <int> {
                jList.FindID("CMJ"), jList.FindID("slCMJleft"), jList.FindID("slCMJright")
            },
                               new List <int> {
                jList.FindID("slCMJleft"), jList.FindID("CMJ"), jList.FindID("slCMJright")
            }
                               )
        };

        foreach (IDName idName in jList.l)
        {
            LogB.SQL(idName.ToString());
        }

        foreach (ExecuteAutoSQL eaSQL in eaSQLlist)
        {
            Insert(true, eaSQL);
        }
    }
Beispiel #3
0
 public IDNameIDDoubleListOfLists(IDNameList lname, ArrayList ldoublelistoflists)
 {
     this.lname = lname;
     this.ldoublelistoflists = ldoublelistoflists;
 }
Beispiel #4
0
    protected internal static void addChronojumpProfileAndBilateral()
    {
        string [] jumps = SqliteJumpType.SelectJumpTypes(true, "", "", false);

        IDNameList jList = new IDNameList(jumps,':');

        List <ExecuteAutoSQL> eaSQLlist = new List<ExecuteAutoSQL> {
            new ExecuteAutoSQL( -1, "Chronojump profile", ExecuteAuto.ModeTypes.BY_PERSONS, "Complete profile using jumps",
                    new List<int> { jList.FindID("SJ"), jList.FindID("SJl"), jList.FindID("CMJ"), jList.FindID("ABK"), jList.FindID("DJa") },
                    new List<int>{},
                    new List<int>{}
                    ),

            new ExecuteAutoSQL( -1, "Bilateral profile by persons", ExecuteAuto.ModeTypes.BY_PERSONS, "Bilateral / Unilateral tests",
                    new List<int> {
                        jList.FindID("slCMJright"), jList.FindID("slCMJleft"), jList.FindID("CMJ"),
                        jList.FindID("slCMJleft"), jList.FindID("CMJ"), jList.FindID("slCMJright"),
                        jList.FindID("CMJ"), jList.FindID("slCMJleft"), jList.FindID("slCMJright"),
                    },
                    new List<int>{},
                    new List<int>{}
                    ),

            new ExecuteAutoSQL( -1, "Bilateral profile by sets", ExecuteAuto.ModeTypes.BY_SETS, "Bilateral / Unilateral tests",
                    new List<int> { jList.FindID("slCMJright"), jList.FindID("slCMJleft"), jList.FindID("CMJ") },
                    new List<int> { jList.FindID("CMJ"), jList.FindID("slCMJleft"), jList.FindID("slCMJright") },
                    new List<int> { jList.FindID("slCMJleft"), jList.FindID("CMJ"), jList.FindID("slCMJright") }
                    )
        };

        foreach(IDName idName in jList.l) {
            LogB.SQL(idName.ToString());
        }

        foreach(ExecuteAutoSQL eaSQL in eaSQLlist) {
            Insert(true, eaSQL);
        }
    }
Beispiel #5
0
    protected static IDNameList fillIDNameList(string selectStr)
    {
        //select personID and jump type 'SJ' mean
        dbcmd.CommandText = selectStr;
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        SqliteDataReader reader = dbcmd.ExecuteReader();

        IDNameList list = new IDNameList();
        while(reader.Read()) {
            IDName idname = new IDName( Convert.ToInt32(reader[0].ToString()),
                        reader[1].ToString());
            LogB.SQL(idname.ToString());

            list.Add(new IDName( Convert.ToInt32(reader[0].ToString()),
                        reader[1].ToString() ));
        }
        reader.Close();
        return list;
    }
Beispiel #6
0
    /*
     * DB 1.20 -> 1.21
     * "Fixing loosing of encoder videoURL after recalculate"
     * each encoder signal can have saved some encoder curves
     * both are records on encoder table
     * connection between them is found in encoderSignalCurve table.
     * Problem since chronojump 1.4.9 and maybe earlier is on recalculate: videoURL is deleted on signal
     * but hopefully not in curve
     * Now this problem has been fixed in new code and it does not get deleted.
     *
     * Following  method: is to restore signals that lost their videoURL value
     */
    public static void FixLostVideoURLAfterEncoderRecalculate()
    {
        dbcmd.CommandText = "SELECT eSignal.uniqueID, eCurve.videoURL " +
            "FROM encoder AS eSignal, encoder AS eCurve, encoderSignalCurve " +
            "WHERE eSignal.signalOrCurve = \"signal\" AND eCurve.signalOrCurve = \"curve\" " +
            "AND eSignal.videoURL = \"\" AND eCurve.videoURL != \"\" " +
            "AND encoderSignalCurve.signalID = eSignal.uniqueID " +
            "AND encoderSignalCurve.curveID = eCurve.uniqueID";

        LogB.SQL(dbcmd.CommandText.ToString());
        SqliteDataReader reader = dbcmd.ExecuteReader();

        IDNameList idnamelist = new IDNameList();
        while(reader.Read()) {
            idnamelist.Add(new IDName(
                        Convert.ToInt32(reader[0].ToString()), //encoder signal uniqueID (this signal has lost his videoURL)
                        reader[1].ToString()	//videoURL of encoder curve
                       ));
        }
        reader.Close();

        foreach(IDName idname in idnamelist.l)
        {
            dbcmd.CommandText = "UPDATE encoder SET videoURL = \"" + idname.Name + "\" " +
                "WHERE uniqueID = " + idname.UniqueID.ToString();
            LogB.SQL(dbcmd.CommandText.ToString());
            dbcmd.ExecuteNonQuery();
        }
    }
Beispiel #7
0
 public IDNameIDDoubleListOfLists(IDNameList lname, ArrayList ldoublelistoflists)
 {
     this.lname = lname;
     this.ldoublelistoflists = ldoublelistoflists;
 }