· 7 years ago · Nov 21, 2018, 05:22 AM
1import android.content.Context;
2import android.database.Cursor;
3import android.database.SQLException;
4import android.database.sqlite.SQLiteDatabase;
5import android.database.sqlite.SQLiteStatement;
6import java.util.ArrayList;
7import java.util.List;
8
9
10
11
12
13public class DBManager_EntUsers {
14
15 public static String TABLE_NAME = "ent_Users";
16
17 static String CREATE_TABLE_ENT_USERS = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " ( " +
18 Table.COL_LOCAL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
19 Table.COL_ID_USER + " TEXT NOT NULL, " +
20 Table.COL_USER_NAME + " TEXT NOT NULL, " +
21 Table.COL_FNAME + " TEXT NOT NULL, " +
22 Table.COL_LNAME + " TEXT NOT NULL, " +
23 Table.COL_ASSIGNED_SITE + " TEXT NOT NULL, " +
24 Table.COL_DEF_LANG + " TEXT NOT NULL DEFAULT '0' , " +
25 Table.COL_EMAIL + " TEXT DEFAULT NULL, " +
26 Table.COL_IN_ACTIVE + " TEXT DEFAULT '0', " +
27 Table.COL_USR_LOCKED + " TEXT NOT NULL DEFAULT '0' , " +
28 Table.COL_MOBILEAPP + " TEXT NOT NULL DEFAULT '0' , " +
29 Table.COL_LOGTYPE + " TEXT NOT NULL DEFAULT '0' , " +
30 Table.COL_USR_TYPE + " TEXT NOT NULL DEFAULT '0' , " +
31 Table.COL_EXT_COMPANY + " TEXT NOT NULL DEFAULT '0' " + " )";
32
33 public interface Table {
34
35 String COL_LOCAL_ID = "id";
36 String COL_ID_USER = "idUser";
37 String COL_USER_NAME = "User_Name";
38 String COL_FNAME = "First_Name";
39 String COL_LNAME = "Last_Name";
40 String COL_ASSIGNED_SITE = "assignedSite";
41 String COL_DEF_LANG = "defaultLanguage";
42 String COL_EMAIL = "eMail";
43 String COL_IN_ACTIVE = "inActive";
44 String COL_USR_LOCKED = "userLocked";
45 String COL_MOBILEAPP = "mobileApp";
46 String COL_LOGTYPE = "logType";
47 String COL_USR_TYPE = "userType";
48 String COL_EXT_COMPANY = "extCompany";
49 }
50
51 private SQLiteDatabase mDatabase;
52 private Context mContext;
53
54 private static final String TAG = DBManager_EntUsers.class.getSimpleName();
55
56 private DatabaseHelperNew dbHelper;
57
58 private Context context;
59
60
61 public static DBManager_EntUsers dbManager_entUsers;
62
63 public static DBManager_EntUsers getInstance(Context context) {
64 if (dbManager_entUsers == null) {
65 dbManager_entUsers = new DBManager_EntUsers(context);
66 }
67
68 return dbManager_entUsers;
69 }
70
71 public DBManager_EntUsers(Context c) {
72 context = c;
73 }
74
75 public DBManager_Answers openWriteble() throws SQLException {
76 if(dbHelper==null) { dbHelper = new DatabaseHelperNew(context); }
77 mDatabase = dbHelper.getWritableDatabase();
78
79 return this;
80 }
81
82 public DBManager_Answers openRedable() throws SQLException {
83 if(dbHelper==null) { dbHelper = new DatabaseHelperNew(context); }
84 mDatabase = dbHelper.getReadableDatabase();
85
86 return this;
87 }
88
89 public void close() {
90 dbHelper.close();
91 }
92
93
94 public static String getCreateTable(Context context) {
95 return CREATE_TABLE_ENT_USERS;
96 }
97
98 public static String getDropTable(Context context) {
99 return "DROP TABLE IF EXISTS " + TABLE_NAME + ";";
100 }
101
102 public void deleteAll() {
103 open();
104 mDatabase.execSQL("DELETE FROM " + TABLE_NAME + ";");
105 mDatabase.execSQL("VACUUM");
106 close();
107 }
108
109
110 public void insertEntUsersFast(List<EntUsers.DataBean> entUserList) {
111
112
113
114
115 String sql = "INSERT OR REPLACE INTO " + TABLE_NAME +
116 " ( " + Table.COL_ID_USER + "," + Table.COL_USER_NAME + "," + Table.COL_FNAME + "," +
117 Table.COL_LNAME + "," + Table.COL_ASSIGNED_SITE + "," +
118 Table.COL_DEF_LANG + "," + Table.COL_EMAIL + "," +
119 Table.COL_IN_ACTIVE + "," + Table.COL_USR_LOCKED + "," + Table.COL_MOBILEAPP + "," +
120 Table.COL_LOGTYPE + "," + Table.COL_USR_TYPE + "," + Table.COL_EXT_COMPANY +
121 " )" +
122 "VALUES( ?, ?, ? ,?,?,?,?,?,?,?,?,?,?)";
123 open();
124 mDatabase.beginTransactionNonExclusive();
125 SQLiteStatement stmt = mDatabase.compileStatement(sql);
126
127 for (int x = 0; x < entUserList.size(); x++) {
128
129 stmt.bindString(1, entUserList.get(x).getIdUser());
130 stmt.bindString(2, entUserList.get(x).getUser_Name());
131 stmt.bindString(3, entUserList.get(x).getFirst_Name());
132 stmt.bindString(4, entUserList.get(x).getLast_Name());
133 stmt.bindString(5, entUserList.get(x).getAssignedSite());
134 stmt.bindString(6, entUserList.get(x).getDefaultLanguage());
135 stmt.bindString(7, entUserList.get(x).getEMail());
136 stmt.bindString(8, entUserList.get(x).getInActive());
137 stmt.bindString(9, entUserList.get(x).getUserLocked());
138 stmt.bindString(10, entUserList.get(x).getMobileApp());
139 stmt.bindString(11, entUserList.get(x).getLogType());
140 stmt.bindString(12, entUserList.get(x).getUserType());
141 stmt.bindString(13, entUserList.get(x).getExtCompany());
142 stmt.execute();
143 stmt.clearBindings();
144 }
145 mDatabase.setTransactionSuccessful();
146 mDatabase.endTransaction();
147 mDatabase.close();
148 }
149
150
151 public List<EntUsers.DataBean> selectById(String id) {
152
153 openReadable();
154
155 String[] selectionArgs = {id};
156 String query = "SELECT " + "* FROM " + TABLE_NAME + " WHERE " + Table.COL_ID_USER + " = ?;";
157 Cursor cursor = mDatabase.rawQuery(query, selectionArgs);
158
159 List<EntUsers.DataBean> dataList = manageCursor(cursor);
160
161 closeCursor(cursor);
162
163 return dataList;
164 }
165
166 public List<EntUsers.DataBean> selectAll() {
167 openReadable();
168 Cursor cursor = mDatabase.rawQuery("SELECT " + "* FROM " + TABLE_NAME, null);
169
170 List<EntUsers.DataBean> dataList = manageCursor(cursor);
171
172 closeCursor(cursor);
173
174 return dataList;
175 }
176
177 protected EntUsers.DataBean cursorToData(Cursor cursor) {
178
179 EntUsers.DataBean entUser = new EntUsers.DataBean();
180 entUser.setId(cursor.getString(cursor.getColumnIndex(Table.COL_LOCAL_ID)));
181 entUser.setIdUser(cursor.getString(cursor.getColumnIndex(Table.COL_ID_USER)));
182 entUser.setUser_Name(cursor.getString(cursor.getColumnIndex(Table.COL_USER_NAME)));
183 entUser.setFirst_Name(cursor.getString(cursor.getColumnIndex(Table.COL_FNAME)));
184 entUser.setLast_Name(cursor.getString(cursor.getColumnIndex(Table.COL_LNAME)));
185 entUser.setAssignedSite(cursor.getString(cursor.getColumnIndex(Table.COL_ASSIGNED_SITE)));
186 entUser.setDefaultLanguage(cursor.getString(cursor.getColumnIndex(Table.COL_DEF_LANG)));
187 entUser.setEMail(cursor.getString(cursor.getColumnIndex(Table.COL_EMAIL)));
188 entUser.setInActive(cursor.getString(cursor.getColumnIndex(Table.COL_IN_ACTIVE)));
189 entUser.setUserLocked(cursor.getString(cursor.getColumnIndex(Table.COL_USR_LOCKED)));
190 entUser.setMobileApp(cursor.getString(cursor.getColumnIndex(Table.COL_MOBILEAPP)));
191 entUser.setLogType(cursor.getString(cursor.getColumnIndex(Table.COL_LOGTYPE)));
192 entUser.setUserType(cursor.getString(cursor.getColumnIndex(Table.COL_USR_TYPE)));
193 entUser.setExtCompany(cursor.getString(cursor.getColumnIndex(Table.COL_EXT_COMPANY)));
194
195 return entUser;
196 }
197
198 protected void closeCursor(Cursor cursor) {
199 if (cursor != null) {
200 cursor.close();
201 }
202 }
203
204 protected List<EntUsers.DataBean> manageCursor(Cursor cursor) {
205 List<EntUsers.DataBean> dataList = new ArrayList<EntUsers.DataBean>();
206
207 if (cursor != null) {
208 cursor.moveToFirst();
209 while (!cursor.isAfterLast()) {
210 EntUsers.DataBean user = cursorToData(cursor);
211 dataList.add(user);
212 cursor.moveToNext();
213 }
214 }
215 return dataList;
216 }
217
218
219}