Пример #1
0
    public static NBackData getNBackToUpload(int log_id)
    {
        NBackData temp = null;

        _dbc = new SqliteConnection(_constr);
        _dbc.Open();
        _dbcm             = _dbc.CreateCommand();
        sql               = "SELECT * FROM nback_data WHERE log_id = " + log_id + ";";
        _dbcm.CommandText = sql;
        _idr              = _dbcm.ExecuteReader();

        if (_idr.Read())
        {
            temp               = new NBackData();
            temp.log_id        = _idr.GetInt32(_idr.GetOrdinal("log_id"));
            temp.mean_time     = _idr.GetDouble(_idr.GetOrdinal("mean_time"));
            temp.correct_count = _idr.GetInt32(_idr.GetOrdinal("correct_count"));
            temp.n_count       = _idr.GetInt32(_idr.GetOrdinal("n_count"));
            temp.element_count = _idr.GetInt32(_idr.GetOrdinal("element_count"));
            temp.trial_count   = _idr.GetInt32(_idr.GetOrdinal("trial_count"));
        }

        _idr.Close();
        _idr = null;
        _dbcm.Dispose();
        _dbcm = null;
        _dbc.Close();
        _dbc = null;

        return(temp);
    }
Пример #2
0
    public NBackData[] getLastNBack()
    {
        NBackData nbackData;

        NBackData[] lastNBack = new NBackData[3];
        int         count     = 0;

        _dbc = new SqliteConnection(_constr);
        _dbc.Open();
        _dbcm = _dbc.CreateCommand();
        sql   = "SELECT N.log_id, N.mean_time, N.correct_count, N.n_count, N.element_count, N.trial_count " +
                "FROM nback_data N, player_logs P " +
                "WHERE P.game_progress = 'FINISHED' " +
                "AND P.log_id = N.log_id " +
                "ORDER BY N.log_id DESC; ";
        _dbcm.CommandText = sql;
        _idr = _dbcm.ExecuteReader();

        while (_idr.Read() && count < 3)
        {
            nbackData               = new NBackData();
            nbackData.log_id        = _idr.GetInt32(_idr.GetOrdinal("log_id"));
            nbackData.mean_time     = _idr.GetDouble(_idr.GetOrdinal("mean_time"));
            nbackData.correct_count = _idr.GetInt32(_idr.GetOrdinal("correct_count"));
            nbackData.n_count       = _idr.GetInt32(_idr.GetOrdinal("n_count"));
            nbackData.element_count = _idr.GetInt32(_idr.GetOrdinal("element_count"));
            nbackData.trial_count   = _idr.GetInt32(_idr.GetOrdinal("trial_count"));
            lastNBack[count]        = nbackData;
            count++;
        }

        _idr.Close();
        _idr = null;
        _dbcm.Dispose();
        _dbcm = null;
        _dbc.Close();
        _dbc = null;

        return(lastNBack);
    }
Пример #3
0
    public NBackData getBestNBack()
    {
        NBackData bestNBack = null;

        _dbc = new SqliteConnection(_constr);
        _dbc.Open();
        _dbcm = _dbc.CreateCommand();
        sql   = "SELECT N.log_id, N.mean_time, N.correct_count, N.n_count, N.element_count, N.trial_count " +
                "FROM nback_data N, player_logs P " +
                "WHERE P.game_progress = 'FINISHED' " +
                "AND P.log_id = N.log_id " +
                "AND N.correct_count != 0 " +
                "ORDER BY N.n_count DESC, N.correct_count DESC, N.mean_time ASC LIMIT 1; ";
        _dbcm.CommandText = sql;
        _idr = _dbcm.ExecuteReader();

        if (_idr.Read())
        {
            bestNBack               = new NBackData();
            bestNBack.log_id        = _idr.GetInt32(_idr.GetOrdinal("log_id"));
            bestNBack.mean_time     = _idr.GetDouble(_idr.GetOrdinal("mean_time"));
            bestNBack.correct_count = _idr.GetInt32(_idr.GetOrdinal("correct_count"));
            bestNBack.n_count       = _idr.GetInt32(_idr.GetOrdinal("n_count"));
            bestNBack.element_count = _idr.GetInt32(_idr.GetOrdinal("element_count"));
            bestNBack.trial_count   = _idr.GetInt32(_idr.GetOrdinal("trial_count"));
        }

        _idr.Close();
        _idr = null;
        _dbcm.Dispose();
        _dbcm = null;
        _dbc.Close();
        _dbc = null;

        return(bestNBack);
    }
Пример #4
0
    public void uploadPlayerLogs()
    {
        MySqlCommand cmd;

        if (OpenConnection() == true)
        {
            List <PlayerLogs> uploadList = SQLiteDatabase.getLogsToUpload();
            int player_id = SQLiteDatabase.getPlayer().player_id;

            foreach (PlayerLogs log in uploadList)
            {
                string sql = "";

                sql = "INSERT INTO player_logs (player_id, test_id, time_start, time_end) VALUES(" +
                      player_id + ", " +
                      log.test_id + ", '" +
                      log.time_start + "', '" +
                      log.time_end + "');";

                cmd = new MySqlCommand(sql, conn);
                cmd.ExecuteNonQuery();

                sql = "SELECT LAST_INSERT_ID();";

                cmd.CommandText = sql;
                int last_log_id = Convert.ToInt32(cmd.ExecuteScalar());


                switch (log.test_id)
                {
                case 1:
                    GoNoGoData temp1 = SQLiteDatabase.getGoNoGoToUpload(log.log_id);
                    sql = "INSERT INTO gonogo_data (log_id, correct_go_count, correct_nogo_count, mean_time, go_count, trial_count) VALUES (" +
                          last_log_id + ", " +
                          temp1.correct_go_count + ", " +
                          temp1.correct_nogo_count + ", " +
                          temp1.mean_time + ", " +
                          temp1.go_count + ", " +
                          temp1.trial_count + ");";
                    break;

                case 2:
                    CorsiData temp2 = SQLiteDatabase.getCorsiToUpload(log.log_id);
                    sql = "INSERT INTO corsi_data (log_id, correct_trials, correct_length, seq_length, trial_count) VALUES (" +
                          last_log_id + ", " +
                          temp2.correct_trials + ", " +
                          temp2.correct_length + ", " +
                          temp2.seq_length + ", " +
                          temp2.trial_count + ");";
                    break;

                case 3:
                    NBackData temp3 = SQLiteDatabase.getNBackToUpload(log.log_id);
                    sql = "INSERT INTO nback_data (log_id, mean_time, correct_count, n_count, element_count, trial_count) VALUES (" +
                          last_log_id + ", " +
                          temp3.mean_time + ", " +
                          temp3.correct_count + ", " +
                          temp3.n_count + ", " +
                          temp3.element_count + ", " +
                          temp3.trial_count + ");";
                    break;

                case 4:
                    EriksenData temp4 = SQLiteDatabase.getEriksenToUpload(log.log_id);
                    sql = "INSERT INTO eriksen_data (log_id, correct_congruent, time_congruent, correct_incongruent, time_incongruent, congruent_count, trial_count) VALUES (" +
                          last_log_id + ", " +
                          temp4.correct_congruent + ", " +
                          temp4.time_congruent + ", " +
                          temp4.correct_incongruent + ", " +
                          temp4.time_incongruent + ", " +
                          temp4.congruent_count + ", " +
                          temp4.trial_count + ");";
                    break;
                }

                cmd = new MySqlCommand(sql, conn);
                cmd.ExecuteNonQuery();

                SQLiteDatabase.updateUploadedLog(log.log_id);
            }

            CloseConnection();
        }
    }