package com.socioboard.t_board_pro.util;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class TboardproLocalData extends SQLiteOpenHelper {
// /////////////////////////////////////////////////////
public static final String db_name = "cencryptedtbpb.db";
public static final String table_name = "twittermanytable";
public static final String table_followers = "table_followers";
public static final String table_stats = "table_stats";
public static final String table_dm_records = "table_dm_records";
public static final String table_dm_sending_records = "table_dm_sending_records";
public static final String sch_table_name = "schedullertable";
public static final String KEY_UserID = "userid";
public static final String KEY_Userimage = "userimage";
public static final String KEY_Username = "username";
public static final String KEY_UserAcessToken = "useracesstoken";
public static final String KEY_UserSecretKey = "usersecretkey";
public static final String KEY_SchTID = "schtid";
public static final String KEY_Tweet = "tweet";
public static final String KEY_TwtTime = "tweettimestamp";
public static final String KEY_followers_ids = "recent_ids";
public static final String KEY_DM_sent_ids = "dm_ids";
public static final String KEY_DM_sending_ids = "dm_ids";
// ////////////////////////////////////////////////////////
public static final String KEY_FOLLOWING = "followings";
public static final String KEY_NONFOLLWERS = "nonfollowers";
public static final String KEY_FOLLOWERS = "followers";
public static final String KEY_MUTUAL = "mutuals";
public static final String KEY_TIMESTAMP = "timestamp";
// ////////////////////////////////////////////////////////
public TboardproLocalData(Context context) {
super(context, db_name, null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
onCreate(db);
}
public void CreateTable() {
String querry = "CREATE TABLE IF NOT EXISTS " + table_name + "("
+ KEY_UserID + " TEXT," + KEY_Userimage + " TEXT,"
+ KEY_Username + " TEXT," + KEY_UserAcessToken + " TEXT,"
+ KEY_UserSecretKey + " TEXT)";
String querry2 = "CREATE TABLE IF NOT EXISTS " + sch_table_name + "("
+ KEY_SchTID + " INTEGER," + KEY_UserID + " TEXT," + KEY_Tweet
+ " TEXT," + KEY_TwtTime + " INTEGER)";
String querry3 = "CREATE TABLE IF NOT EXISTS " + table_dm_records + "("
+ KEY_DM_sent_ids + " TEXT," + KEY_UserID + " TEXT)";
String querry4 = "CREATE TABLE IF NOT EXISTS "
+ table_dm_sending_records + "(" + KEY_DM_sending_ids
+ " TEXT," + KEY_UserID + " TEXT)";
String querry5 = "CREATE TABLE IF NOT EXISTS " + table_followers + "("
+ KEY_followers_ids + " TEXT," + KEY_UserID + " TEXT)";
String querry6 = "CREATE TABLE IF NOT EXISTS " + table_stats + "("
+ KEY_FOLLOWING + " TEXT," + KEY_FOLLOWERS + " TEXT,"
+ KEY_MUTUAL + " TEXT," + KEY_NONFOLLWERS + " TEXT,"
+ KEY_TIMESTAMP + " TEXT," + KEY_UserID + " TEXT)";
SQLiteDatabase database = this.getWritableDatabase();
database.execSQL(querry);
database.execSQL(querry2);
database.execSQL(querry3);
database.execSQL(querry4);
database.execSQL(querry5);
database.execSQL(querry6);
System.out.println("CreateTable " + querry);
System.out.println("CreateTable2 " + querry2);
System.out.println("querry3 " + querry3);
System.out.println("querry4 " + querry4);
System.out.println("querry5 " + querry5);
System.out.println("querry6 " + querry6);
}
public void addNewUserAccount(ModelUserDatas modelUserDatas) {
// String query = "INSERT INTO " + table_name + "";
SQLiteDatabase database = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_UserID, modelUserDatas.getUserid());
contentValues.put(KEY_Userimage, modelUserDatas.getUserimage());
contentValues.put(KEY_Username, modelUserDatas.getUsername());
contentValues.put(KEY_UserAcessToken,
modelUserDatas.getUserAcessToken());
contentValues.put(KEY_UserSecretKey, modelUserDatas.getUsersecretKey());
database.insert(table_name, null, contentValues);
System.out.println("addNewUserAccount " + contentValues);
}
public ModelUserDatas getUserData(String userId) {
ModelUserDatas modelUserDatas = null;
String query = "SELECT * FROM " + table_name + " WHERE " + KEY_UserID
+ " = '" + userId + "'";
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
if (cursor.moveToFirst()) {
modelUserDatas = new ModelUserDatas();
modelUserDatas.setUserid(cursor.getString(0));
modelUserDatas.setUserimage(cursor.getString(1));
modelUserDatas.setUsername(cursor.getString(2));
modelUserDatas.setUserAcessToken(cursor.getString(3));
modelUserDatas.setUsersecretKey(cursor.getString(4));
}
return modelUserDatas;
}
public HashMap<String, ModelUserDatas> getAllUsersData() {
String query = "SELECT * FROM " + table_name;
HashMap<String, ModelUserDatas> allUserDetails = new HashMap<String, ModelUserDatas>();
System.out.println(query);
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
ModelUserDatas modelUserDatas;
if (cursor.moveToFirst()) {
do {
modelUserDatas = new ModelUserDatas();
modelUserDatas.setUserid(cursor.getString(0));
modelUserDatas.setUserimage(cursor.getString(1));
modelUserDatas.setUsername(cursor.getString(2));
modelUserDatas.setUserAcessToken(cursor.getString(3));
modelUserDatas.setUsersecretKey(cursor.getString(4));
allUserDetails.put(cursor.getString(0), modelUserDatas);
} while (cursor.moveToNext());
}
return allUserDetails;
}
public ArrayList<ModelUserDatas> getAllUsersDataArlist() {
String query = "SELECT * FROM " + table_name;
ArrayList<ModelUserDatas> allUserDetails = new ArrayList<ModelUserDatas>();
System.out.println(query);
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
ModelUserDatas modelUserDatas;
if (cursor.moveToFirst()) {
do {
modelUserDatas = new ModelUserDatas();
modelUserDatas.setUserid(cursor.getString(0));
modelUserDatas.setUserimage(cursor.getString(1));
modelUserDatas.setUsername(cursor.getString(2));
modelUserDatas.setUserAcessToken(cursor.getString(3));
modelUserDatas.setUsersecretKey(cursor.getString(4));
allUserDetails.add(modelUserDatas);
} while (cursor.moveToNext());
}
return allUserDetails;
}
public void updateUserData(ModelUserDatas modelUserDatas) {
SQLiteDatabase database = this.getWritableDatabase();
String updateQuery = "UPDATE " + table_name + " SET " + KEY_Username
+ " = '" + modelUserDatas.getUsername() + "' , "
+ KEY_Userimage + " = '" + modelUserDatas.getUserimage()
+ "' , " + KEY_UserSecretKey + " = '"
+ modelUserDatas.getUsersecretKey() + "' , "
+ KEY_UserAcessToken + " = '"
+ modelUserDatas.getUserAcessToken() + "' " + " WHERE "
+ KEY_UserID + " = '" + modelUserDatas.getUserid() + "'";
System.out.println("updateQuery " + modelUserDatas);
database.execSQL(updateQuery);
}
public void updateUserData(String userId, String KEY, String dataValue) {
SQLiteDatabase database = this.getWritableDatabase();
String updateQuery = "UPDATE " + table_name + " SET " + KEY + " = '"
+ dataValue + "' " + " WHERE " + KEY_UserID + " = '" + userId
+ "'";
System.out.println("updateUserData" + userId);
database.execSQL(updateQuery);
}
public void updateUserDataField(String userId, String KEY, String value) {
SQLiteDatabase database = this.getWritableDatabase();
String updateQuery = "UPDATE " + table_name +
" SET " + KEY + " = '" + value + "'"
+ " WHERE "
+ KEY_UserID + " = '" + userId + "'";
System.out.println("updateUserDataField" + userId);
database.execSQL(updateQuery);
}
public void deleteAllRows() {
SQLiteDatabase database = this.getWritableDatabase();
String query = "DELETE FROM " + table_name;
System.out.println(query);
database.execSQL(query);
}
public void deleteThisUserData(String userID) {
SQLiteDatabase database = this.getWritableDatabase();
String query = "DELETE FROM " + table_name + " WHERE " + KEY_UserID
+ " = " + userID;
System.out.println(query);
database.execSQL(query);
}
public ArrayList<String> getAllIds() {
String query = "SELECT " + KEY_UserID + " FROM " + table_name;
ArrayList<String> allUserIDs = new ArrayList<String>();
System.out.println(query);
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
allUserIDs.add(cursor.getString(0));
} while (cursor.moveToNext());
}
return allUserIDs;
}
// SCHEDULLED TWEET;
public void addNewSchedulledTweet(SchTweetModel schTweetModel) {
SQLiteDatabase database = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_UserID, schTweetModel.getUserID());
contentValues.put(KEY_SchTID, schTweetModel.getTweetId());
contentValues.put(KEY_TwtTime, schTweetModel.getTweettime());
contentValues.put(KEY_Tweet, schTweetModel.getTweet());
database.insert(sch_table_name, null, contentValues);
System.out.println("addNewSchedulledTweet " + contentValues);
}
public SchTweetModel getSchedulledTweet(String schId) {
SchTweetModel schTweetModel = null;
String query = "SELECT * FROM " + sch_table_name + " WHERE "
+ KEY_SchTID + " = '" + schId + "'";
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
if (cursor.moveToFirst()) {
int tweetId = Integer.parseInt(cursor.getString(0));
String Userid;
Userid = cursor.getString(1);
String tweet = cursor.getString(2);
long tweettime = new Long(cursor.getString(3));
schTweetModel = new SchTweetModel(tweet, tweettime, Userid, tweetId);
}
return schTweetModel;
}
public ArrayList<SchTweetModel> getAllSchedulledTweet() {
String query = "SELECT * FROM " + sch_table_name;
ArrayList<SchTweetModel> allschTweets = new ArrayList<SchTweetModel>();
System.out.println(query);
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(query, null);
SchTweetModel schTweetModel;
if (cursor.moveToFirst()) {
do {
int tweetId = Integer.parseInt(cursor.getString(0));
String Userid;
Userid = cursor.getString(1);
String tweet = cursor.getString(2);
long tweettime = new Long(cursor.getString(3));
schTweetModel = new SchTweetModel(tweet, tweettime, Userid,
tweetId);
allschTweets.add(schTweetModel);
} while (cursor.moveToNext());
}
return allschTweets;
}
public void deleteThisTweet(int schid) {
SQLiteDatabase database = this.getWritableDatabase();
String query = "DELETE FROM " + sch_table_name + " WHERE " + KEY_SchTID
+ " = " + schid;
System.out.println(query);
database.execSQL(query);
}
public ArrayList<String> getAllSentIDs(String Userid) {
ArrayList<String> listIDs = new ArrayList<String>();
String query = "SELECT * FROM " + table_dm_records + " WHERE "
+ KEY_UserID + " = '" + Userid + "'";
SQLiteDatabase liteDatabase = this.getReadableDatabase();
Cursor cursor = liteDatabase.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
listIDs.add(cursor.getString(0));
} while (cursor.moveToNext());
}
System.out.println("listIDs ==== " + listIDs);
return listIDs;
}
public void addNewDMsentId(String id, String Userid) {
SQLiteDatabase liteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_DM_sent_ids, id);
contentValues.put(KEY_UserID, Userid);
liteDatabase.insert(table_dm_records, null, contentValues);
System.out.println("Added id ==== " + id);
}
public ArrayList<String> getAllSendingIDs(String Userid) {
ArrayList<String> listIDs = new ArrayList<String>();
String query = "SELECT * FROM " + table_dm_sending_records + " WHERE "
+ KEY_UserID + " = '" + Userid + "'";
SQLiteDatabase liteDatabase = this.getReadableDatabase();
Cursor cursor = liteDatabase.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
listIDs.add(cursor.getString(0));
} while (cursor.moveToNext());
}
System.out.println("listIDs ==== " + listIDs);
return listIDs;
}
public void addNewDMsendingId(String id, String Userid) {
SQLiteDatabase liteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_DM_sending_ids, id);
contentValues.put(KEY_UserID, Userid);
liteDatabase.insert(table_dm_sending_records, null, contentValues);
System.out.println("Added id ==== " + id);
}
public void deleteThisDMSendingId(String dmId, String userId) {
String query = "DELETE FROM " + table_dm_sending_records + " WHERE "
+ KEY_UserID + " = '" + userId + "' AND " + KEY_DM_sending_ids
+ " = '" + dmId + "'";
SQLiteDatabase liteDatabase = this.getReadableDatabase();
liteDatabase.execSQL(query);
System.out.println(" ==== deleteThisDMSendingId ==== " + query);
}
// Recent
public void addFollwersIds(String jsonIds, String Userid) {
SQLiteDatabase liteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_followers_ids, jsonIds);
contentValues.put(KEY_UserID, Userid);
liteDatabase.insert(table_followers, null, contentValues);
System.out.println("addFollwersIds ==== ");
}
public String getAllFollowersIDs(String Userid) {
String jsonResult = null;
String query = "SELECT * FROM " + table_followers + " WHERE "
+ KEY_UserID + " = '" + Userid + "'";
SQLiteDatabase liteDatabase = this.getReadableDatabase();
Cursor cursor = liteDatabase.rawQuery(query, null);
if (cursor.moveToFirst()) {
jsonResult = cursor.getString(0);
}
System.out.println("jsonResult ==== " + jsonResult);
return jsonResult;
}
public void deleteAllFollowers(String userID) {
String query = "DELETE FROM " + table_followers + " WHERE "
+ KEY_UserID + " = '" + userID + "'";
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
sqLiteDatabase.execSQL(query);
}
public void addUserEntity(EntityModel entityModel, String userId) {
SQLiteDatabase liteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_FOLLOWING, entityModel.getFollowings());
contentValues.put(KEY_FOLLOWERS, entityModel.getFollowers());
contentValues.put(KEY_MUTUAL, entityModel.getMutuals());
contentValues.put(KEY_NONFOLLWERS, entityModel.getNonfollwers());
contentValues.put(KEY_TIMESTAMP, entityModel.getMillis());
contentValues.put(KEY_UserID, MainSingleTon.currentUserModel.getUserid());
liteDatabase.insert(table_stats, null, contentValues);
System.out.println("entityModel = "+entityModel);
}
public ArrayList<EntityModel> getAllUsersEntity(String userId) {
ArrayList<EntityModel> entityModels = new ArrayList<EntityModel>();
String sql = "SELECT * FROM " + table_stats + " WHERE " + KEY_UserID
+ " = '" + userId + "'";
SQLiteDatabase database = this.getReadableDatabase();
Cursor cursor = database.rawQuery(sql, null);
if (cursor.moveToFirst()) {
do {
EntityModel entityModel = new EntityModel();
entityModel.setFollowings(cursor.getLong(0));
entityModel.setFollowers(cursor.getLong(1));
entityModel.setMutuals(cursor.getLong(2));
entityModel.setNonfollwers(cursor.getLong(3));
entityModel.setMillis(cursor.getLong(4));
entityModels.add(entityModel);
} while (cursor.moveToNext());
}
return entityModels;
}
}