public static ArrayList Select1RM(bool dbconOpened, int personID, int sessionID, int exerciseID, bool returnPersonNameAndExerciseName) { if (!dbconOpened) { Sqlite.Open(); } string whereStr = ""; if (personID != -1 || sessionID != -1 || exerciseID != -1) { whereStr = " WHERE "; string andStr = ""; if (personID != -1) { whereStr += " " + Constants.Encoder1RMTable + ".personID = " + personID; andStr = " AND "; } if (sessionID != -1) { whereStr += andStr + " " + Constants.Encoder1RMTable + ".sessionID = " + sessionID; andStr = " AND "; } if (exerciseID != -1) { whereStr += andStr + " " + Constants.Encoder1RMTable + ".exerciseID = " + exerciseID; } } if (returnPersonNameAndExerciseName) { if (whereStr == "") { whereStr = " WHERE "; } else { whereStr += " AND "; } whereStr += Constants.Encoder1RMTable + ".personID = person77.uniqueID AND " + Constants.Encoder1RMTable + ".exerciseID = encoderExercise.uniqueID"; } if (returnPersonNameAndExerciseName) { dbcmd.CommandText = "SELECT " + Constants.Encoder1RMTable + ".*, person77.name, encoderExercise.name, session.date" + " FROM " + Constants.Encoder1RMTable + ", person77, encoderExercise, session " + whereStr + " AND " + Constants.Encoder1RMTable + ".sessionID = session.uniqueID " + " ORDER BY uniqueID DESC"; //this allows to select the last uniqueID because will be the first in the returned array } else { dbcmd.CommandText = "SELECT " + Constants.Encoder1RMTable + ".*, session.date FROM " + Constants.Encoder1RMTable + ", session" + whereStr + " ORDER BY uniqueID DESC"; //this allows to select the last uniqueID because will be the first in the returned array } LogB.SQL(dbcmd.CommandText.ToString()); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); ArrayList array = new ArrayList(1); Encoder1RM e1RM = new Encoder1RM(); while (reader.Read()) { if (returnPersonNameAndExerciseName) { e1RM = new Encoder1RM( Convert.ToInt32(reader[0].ToString()), //uniqueID Convert.ToInt32(reader[1].ToString()), //personID Convert.ToInt32(reader[2].ToString()), //sessionID UtilDate.FromSql(reader[10].ToString()), //date Convert.ToInt32(reader[3].ToString()), //exerciseID Convert.ToDouble(Util.ChangeDecimalSeparator(reader[4].ToString())), //load1RM reader[8].ToString(), //personName reader[9].ToString() //exerciseName ); } else { e1RM = new Encoder1RM( Convert.ToInt32(reader[0].ToString()), //uniqueID Convert.ToInt32(reader[1].ToString()), //personID Convert.ToInt32(reader[2].ToString()), //sessionID UtilDate.FromSql(reader[5].ToString()), //date Convert.ToInt32(reader[3].ToString()), //exerciseID Convert.ToDouble(Util.ChangeDecimalSeparator(reader[4].ToString())) //load1RM ); } array.Add(e1RM); } reader.Close(); if (!dbconOpened) { Sqlite.Close(); } return(array); }
public static ArrayList Select1RM(bool dbconOpened, int personID, int sessionID, int exerciseID, bool returnPersonNameAndExerciseName) { if(! dbconOpened) Sqlite.Open(); string whereStr = ""; if(personID != -1 || sessionID != -1 || exerciseID != -1) { whereStr = " WHERE "; string andStr = ""; if(personID != -1) { whereStr += " " + Constants.Encoder1RMTable + ".personID = " + personID; andStr = " AND "; } if(sessionID != -1) { whereStr += andStr + " " + Constants.Encoder1RMTable + ".sessionID = " + sessionID; andStr = " AND "; } if(exerciseID != -1) whereStr += andStr + " " + Constants.Encoder1RMTable + ".exerciseID = " + exerciseID; } if(returnPersonNameAndExerciseName) { if(whereStr == "") whereStr = " WHERE "; else whereStr += " AND "; whereStr += Constants.Encoder1RMTable + ".personID = person77.uniqueID AND " + Constants.Encoder1RMTable + ".exerciseID = encoderExercise.uniqueID"; } if(returnPersonNameAndExerciseName) dbcmd.CommandText = "SELECT " + Constants.Encoder1RMTable + ".*, person77.name, encoderExercise.name, session.date" + " FROM " + Constants.Encoder1RMTable + ", person77, encoderExercise, session " + whereStr + " AND " + Constants.Encoder1RMTable + ".sessionID = session.uniqueID " + " ORDER BY uniqueID DESC"; //this allows to select the last uniqueID because will be the first in the returned array else dbcmd.CommandText = "SELECT " + Constants.Encoder1RMTable + ".*, session.date FROM " + Constants.Encoder1RMTable + ", session" + whereStr + " ORDER BY uniqueID DESC"; //this allows to select the last uniqueID because will be the first in the returned array LogB.SQL(dbcmd.CommandText.ToString()); SqliteDataReader reader; reader = dbcmd.ExecuteReader(); ArrayList array = new ArrayList(1); Encoder1RM e1RM = new Encoder1RM(); while(reader.Read()) { if(returnPersonNameAndExerciseName) e1RM = new Encoder1RM ( Convert.ToInt32(reader[0].ToString()), //uniqueID Convert.ToInt32(reader[1].ToString()), //personID Convert.ToInt32(reader[2].ToString()), //sessionID UtilDate.FromSql(reader[10].ToString()),//date Convert.ToInt32(reader[3].ToString()), //exerciseID Convert.ToDouble(Util.ChangeDecimalSeparator(reader[4].ToString())), //load1RM reader[8].ToString(), //personName reader[9].ToString() //exerciseName ); else e1RM = new Encoder1RM ( Convert.ToInt32(reader[0].ToString()), //uniqueID Convert.ToInt32(reader[1].ToString()), //personID Convert.ToInt32(reader[2].ToString()), //sessionID UtilDate.FromSql(reader[5].ToString()), //date Convert.ToInt32(reader[3].ToString()), //exerciseID Convert.ToDouble(Util.ChangeDecimalSeparator(reader[4].ToString())) //load1RM ); array.Add (e1RM); } reader.Close(); if(! dbconOpened) Sqlite.Close(); return array; }