Code changes by azmat

This commit is contained in:
risnaman
2026-09-30 09:13:45 +05:30
parent c95a3f1581
commit 63ecc3e7e6
316 changed files with 28050 additions and 27216 deletions
+132 -132
View File
@@ -1,132 +1,132 @@
import 'dart:async';
import 'dart:io';
import 'package:authsec_flutter_hybrid/LocalStorage/TableQuery.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
class DatabaseHelper {
DatabaseHelper.internal();
static final DatabaseHelper instance = DatabaseHelper.internal();
TableQuery tablequery = TableQuery();
// factory DatabaseHelper() => instance;
static DatabaseHelper? _instance;
static Database? _database;
DatabaseHelper._privateConstructor();
factory DatabaseHelper() {
_instance ??= DatabaseHelper._privateConstructor();
return _instance!;
}
Future<Database> get database async {
if (_database != null) {
print('get database ... $_database');
return _database!;
}
_database = await initDatabase();
return _database!;
}
Future<Database> initDatabase() async {
try {
Directory directory = await getApplicationDocumentsDirectory();
String path = join(directory.path, 'my_database.db');
print('database path is $path');
// final db = await openDatabase('my_database.db');
var openDb = await openDatabase(
path,
// OLD: version: 1,
version: 2,
// OLD: onCreate: (db, version) => _createDatabaseTables(db),
onCreate: (db, version) async => await _createDatabaseTables(db),
onUpgrade: (db, int oldversion, int newversion) async {
if (oldversion < newversion) {
// OLD: print("Version Upgrade");
await _createDatabaseTables(db);
}
},
); // fix version upgrade + await table creation - by Azmat on 23-sep
// Check if the table exists
// var tableResult = await openDb.query('sqlite_master',
// columns: ['name'],
// where: 'type = ? AND name = ?',
// whereArgs: ['table', 'company']);
// if (tableResult.isEmpty) {
// print('Table does not exist');
// } else {
// print('table data is $tableResult');
// print('company Table exists');
// }
print('open db is...... ${openDb.database}');
return openDb;
} catch (e) {
print('Error initializing database: $e');
rethrow; // rethrow the error to see the full stack trace
}
}
Future<void> _createDatabaseTables(Database db) async {
// OLD: tablequery.createOtherTable(db);
await tablequery.createOtherTable(db); // await table creation before queries run - by Azmat on 23-sep
}
// create other table
// Future<void> _createOtherTable(Database db) async {
// _createTable(db, 'research_status', 'status_name');
// }
// Future<void> _createTable(
// Database db, String tableName, String fieldName) async {
// var tableExists = await _isTableExists(db, tableName);
// if (!tableExists) {
// print('$tableName making.....');
// await db.execute(
// '''
// CREATE TABLE $tableName (
// id INTEGER PRIMARY KEY AUTOINCREMENT,
// accountId TEXT,
// createdAt TEXT,
// createdBy TEXT,
// updatedAt TEXT,
// updatedBy TEXT,
// extn1 TEXT,
// extn2 TEXT,
// extn3 TEXT,
// extn4 TEXT,
// extn5 TEXT,
// extn6 TEXT,
// extn7 TEXT,
// extn8 TEXT,
// extn9 TEXT,
// extn10 TEXT,
// extn11 TEXT,
// extn12 TEXT,
// extn13 TEXT,
// extn14 TEXT,
// extn15 TEXT,
// active INTEGER,
// description TEXT,
// $fieldName TEXT
// )''');
// } else {
// print('$tableName table exist');
// }
// }
// Future<bool> _isTableExists(Database db, String tableName) async {
// var result = await db.rawQuery(
// 'SELECT * FROM sqlite_master WHERE type = ? AND name = ?',
// ['table', tableName],
// );
// return result.isNotEmpty;
// }
}
import 'dart:async';
import 'dart:io';
import 'package:authsec_flutter_hybrid/LocalStorage/TableQuery.dart';
import 'package:path/path.dart';
import 'package:path_provider/path_provider.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
class DatabaseHelper {
DatabaseHelper.internal();
static final DatabaseHelper instance = DatabaseHelper.internal();
TableQuery tablequery = TableQuery();
// factory DatabaseHelper() => instance;
static DatabaseHelper? _instance;
static Database? _database;
DatabaseHelper._privateConstructor();
factory DatabaseHelper() {
_instance ??= DatabaseHelper._privateConstructor();
return _instance!;
}
Future<Database> get database async {
if (_database != null) {
print('get database ... $_database');
return _database!;
}
_database = await initDatabase();
return _database!;
}
Future<Database> initDatabase() async {
try {
Directory directory = await getApplicationDocumentsDirectory();
String path = join(directory.path, 'my_database.db');
print('database path is $path');
// final db = await openDatabase('my_database.db');
var openDb = await openDatabase(
path,
// OLD: version: 1,
version: 2,
// OLD: onCreate: (db, version) => _createDatabaseTables(db),
onCreate: (db, version) async => await _createDatabaseTables(db),
onUpgrade: (db, int oldversion, int newversion) async {
if (oldversion < newversion) {
// OLD: print("Version Upgrade");
await _createDatabaseTables(db);
}
},
); // fix version upgrade + await table creation - by Azmat on 23-sep
// Check if the table exists
// var tableResult = await openDb.query('sqlite_master',
// columns: ['name'],
// where: 'type = ? AND name = ?',
// whereArgs: ['table', 'company']);
// if (tableResult.isEmpty) {
// print('Table does not exist');
// } else {
// print('table data is $tableResult');
// print('company Table exists');
// }
print('open db is...... ${openDb.database}');
return openDb;
} catch (e) {
print('Error initializing database: $e');
rethrow; // rethrow the error to see the full stack trace
}
}
Future<void> _createDatabaseTables(Database db) async {
// OLD: tablequery.createOtherTable(db);
await tablequery.createOtherTable(db); // await table creation before queries run - by Azmat on 23-sep
}
// create other table
// Future<void> _createOtherTable(Database db) async {
// _createTable(db, 'research_status', 'status_name');
// }
// Future<void> _createTable(
// Database db, String tableName, String fieldName) async {
// var tableExists = await _isTableExists(db, tableName);
// if (!tableExists) {
// print('$tableName making.....');
// await db.execute(
// '''
// CREATE TABLE $tableName (
// id INTEGER PRIMARY KEY AUTOINCREMENT,
// accountId TEXT,
// createdAt TEXT,
// createdBy TEXT,
// updatedAt TEXT,
// updatedBy TEXT,
// extn1 TEXT,
// extn2 TEXT,
// extn3 TEXT,
// extn4 TEXT,
// extn5 TEXT,
// extn6 TEXT,
// extn7 TEXT,
// extn8 TEXT,
// extn9 TEXT,
// extn10 TEXT,
// extn11 TEXT,
// extn12 TEXT,
// extn13 TEXT,
// extn14 TEXT,
// extn15 TEXT,
// active INTEGER,
// description TEXT,
// $fieldName TEXT
// )''');
// } else {
// print('$tableName table exist');
// }
// }
// Future<bool> _isTableExists(Database db, String tableName) async {
// var result = await db.rawQuery(
// 'SELECT * FROM sqlite_master WHERE type = ? AND name = ?',
// ['table', tableName],
// );
// return result.isNotEmpty;
// }
}
+101 -101
View File
@@ -1,102 +1,102 @@
import 'package:sqflite/sqflite.dart';
class TableQuery {
Future<void> createOtherTable(Database db) async {
// Table Query
// OLD: _createGauravt2(db, 'Gauravt2'); // demo table from old template - disabled for clean base - by Azmat
// OLD: _createGauravtest1(db, 'Gauravtest1'); // demo table from old template - disabled for clean base - by Azmat
}
// Table Query Data
Future<void> _createGauravt2(Database db, String tableName) async {
var tableExists = await _isTableExists(db, tableName);
if (!tableExists) {
print('$tableName making.....');
await db.execute(
'''
CREATE TABLE $tableName (
id INTEGER PRIMARY KEY AUTOINCREMENT,
accountId TEXT,
createdAt TEXT,
createdBy TEXT,
updatedAt TEXT,
updatedBy TEXT,
extn1 TEXT,
extn2 TEXT,
extn3 TEXT,
extn4 TEXT,
extn5 TEXT,
extn6 TEXT,
extn7 TEXT,
extn8 TEXT,
extn9 TEXT,
extn10 TEXT,
extn11 TEXT,
extn12 TEXT,
extn13 TEXT,
extn14 TEXT,
extn15 TEXT,
phone TEXT,
nme TEXT,
// OLD: imageupload TEXT,
imageupload TEXT // fix trailing comma sqlite error - by Azmat on 23-sep
)''');
} else {
print('$tableName table exist');
}
}
Future<void> _createGauravtest1(Database db, String tableName) async {
var tableExists = await _isTableExists(db, tableName);
if (!tableExists) {
print('$tableName making.....');
await db.execute(
'''
CREATE TABLE $tableName (
id INTEGER PRIMARY KEY AUTOINCREMENT,
accountId TEXT,
createdAt TEXT,
createdBy TEXT,
updatedAt TEXT,
updatedBy TEXT,
extn1 TEXT,
extn2 TEXT,
extn3 TEXT,
extn4 TEXT,
extn5 TEXT,
extn6 TEXT,
extn7 TEXT,
extn8 TEXT,
extn9 TEXT,
extn10 TEXT,
extn11 TEXT,
extn12 TEXT,
extn13 TEXT,
extn14 TEXT,
extn15 TEXT,
college TEXT,
// OLD: Name TEXT,
Name TEXT // fix trailing comma sqlite error - by Azmat on 23-sep
)''');
} else {
print('$tableName table exist');
}
}
Future<bool> _isTableExists(Database db, String tableName) async {
var result = await db.rawQuery(
'SELECT * FROM sqlite_master WHERE type = ? AND name = ?',
['table', tableName],
);
return result.isNotEmpty;
}
import 'package:sqflite/sqflite.dart';
class TableQuery {
Future<void> createOtherTable(Database db) async {
// Table Query
// OLD: _createGauravt2(db, 'Gauravt2'); // demo table from old template - disabled for clean base - by Azmat
// OLD: _createGauravtest1(db, 'Gauravtest1'); // demo table from old template - disabled for clean base - by Azmat
}
// Table Query Data
Future<void> _createGauravt2(Database db, String tableName) async {
var tableExists = await _isTableExists(db, tableName);
if (!tableExists) {
print('$tableName making.....');
await db.execute(
'''
CREATE TABLE $tableName (
id INTEGER PRIMARY KEY AUTOINCREMENT,
accountId TEXT,
createdAt TEXT,
createdBy TEXT,
updatedAt TEXT,
updatedBy TEXT,
extn1 TEXT,
extn2 TEXT,
extn3 TEXT,
extn4 TEXT,
extn5 TEXT,
extn6 TEXT,
extn7 TEXT,
extn8 TEXT,
extn9 TEXT,
extn10 TEXT,
extn11 TEXT,
extn12 TEXT,
extn13 TEXT,
extn14 TEXT,
extn15 TEXT,
phone TEXT,
nme TEXT,
// OLD: imageupload TEXT,
imageupload TEXT // fix trailing comma sqlite error - by Azmat on 23-sep
)''');
} else {
print('$tableName table exist');
}
}
Future<void> _createGauravtest1(Database db, String tableName) async {
var tableExists = await _isTableExists(db, tableName);
if (!tableExists) {
print('$tableName making.....');
await db.execute(
'''
CREATE TABLE $tableName (
id INTEGER PRIMARY KEY AUTOINCREMENT,
accountId TEXT,
createdAt TEXT,
createdBy TEXT,
updatedAt TEXT,
updatedBy TEXT,
extn1 TEXT,
extn2 TEXT,
extn3 TEXT,
extn4 TEXT,
extn5 TEXT,
extn6 TEXT,
extn7 TEXT,
extn8 TEXT,
extn9 TEXT,
extn10 TEXT,
extn11 TEXT,
extn12 TEXT,
extn13 TEXT,
extn14 TEXT,
extn15 TEXT,
college TEXT,
// OLD: Name TEXT,
Name TEXT // fix trailing comma sqlite error - by Azmat on 23-sep
)''');
} else {
print('$tableName table exist');
}
}
Future<bool> _isTableExists(Database db, String tableName) async {
var result = await db.rawQuery(
'SELECT * FROM sqlite_master WHERE type = ? AND name = ?',
['table', tableName],
);
return result.isNotEmpty;
}
}
+105 -105
View File
@@ -1,105 +1,105 @@
import 'package:sqflite/sqflite.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
// OLD: import 'databasehelper.dart'; // wrong case fails on Linux Docker - by Azmat
import 'DatabaseHelper.dart'; // fixed case capital D+H for Linux build - by Azmat
class UniController {
final conn = DatabaseHelper.instance;
// get entity
Future<List<Map<String, dynamic>>> getentities(String tableName) async {
Database db = await conn.database;
return await db.query(tableName);
}
// insert
Future<int> insertEntity(
Map<String, dynamic> entity, String tableName) async {
Database db = await conn.database;
// entity['active'] = entity['active'] ? 1 : 0;
// Insert data
// OLD: var entityId = await db.insert(tableName, entity);
var entityId = await db.insert(tableName, entity, conflictAlgorithm: ConflictAlgorithm.replace); // overwrite same id instead of crash - by Azmat on 23-sep
if (entityId != null && entityId > 0) {
print('$tableName Id data is inserted. $tableName Id ID: $entityId');
} else {
print('Failed to insert $tableName.');
}
return entityId;
}
// insert multiple table
Future<void> insertEntities(
List<Map<String, dynamic>> entities, String tableName) async {
Database db = await conn.database;
Batch batch = db.batch();
print('multiple entity is com is $entities');
for (var entity in entities) {
// OLD: insertEntity(entity, tableName);
batch.insert(tableName, entity, conflictAlgorithm: ConflictAlgorithm.replace);
}
// OLD: await batch.commit();
await batch.commit(); // real batch write with overwrite - by Azmat on 23-sep
}
// update Entity
Future<int> update(String tableName, int entityId,
Map<String, dynamic> updatedEntity) async {
Database db = await conn.database;
int rowsAffected = await db.update(tableName, updatedEntity,
where: 'id = ?', whereArgs: [entityId]);
if (rowsAffected > 0) {
print('$tableName data updated successfully.');
} else {
print('Failed to update $tableName data.');
}
return rowsAffected;
}
// Deleting entity
Future<int> delete(String tableName, int entityId) async {
Database db = await conn.database;
// Delete the company
int rowsAffected =
await db.delete(tableName, where: 'id = ?', whereArgs: [entityId]);
if (rowsAffected > 0) {
print('$tableName data deleted successfully.');
} else {
print('Failed to delete comp $tableName any data.');
}
return rowsAffected;
}
Future<int> deleteAll(String tableName) async {
Database db = await conn.database;
return await db.delete(tableName); // clear table for fresh server sync - by Azmat on 23-sep
}
// get count
Future<int> getDataCount(String tableNmae) async {
Database db = await conn.database;
// Get the count of rows in the company table
int count = Sqflite.firstIntValue(
await db.rawQuery('SELECT COUNT(*) FROM $tableNmae'))!
.toInt();
print('Number of $tableNmae in the table: $count');
return count;
}
}
import 'package:sqflite/sqflite.dart';
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
// OLD: import 'databasehelper.dart'; // wrong case fails on Linux Docker - by Azmat
import 'DatabaseHelper.dart'; // fixed case capital D+H for Linux build - by Azmat
class UniController {
final conn = DatabaseHelper.instance;
// get entity
Future<List<Map<String, dynamic>>> getentities(String tableName) async {
Database db = await conn.database;
return await db.query(tableName);
}
// insert
Future<int> insertEntity(
Map<String, dynamic> entity, String tableName) async {
Database db = await conn.database;
// entity['active'] = entity['active'] ? 1 : 0;
// Insert data
// OLD: var entityId = await db.insert(tableName, entity);
var entityId = await db.insert(tableName, entity, conflictAlgorithm: ConflictAlgorithm.replace); // overwrite same id instead of crash - by Azmat on 23-sep
if (entityId != null && entityId > 0) {
print('$tableName Id data is inserted. $tableName Id ID: $entityId');
} else {
print('Failed to insert $tableName.');
}
return entityId;
}
// insert multiple table
Future<void> insertEntities(
List<Map<String, dynamic>> entities, String tableName) async {
Database db = await conn.database;
Batch batch = db.batch();
print('multiple entity is com is $entities');
for (var entity in entities) {
// OLD: insertEntity(entity, tableName);
batch.insert(tableName, entity, conflictAlgorithm: ConflictAlgorithm.replace);
}
// OLD: await batch.commit();
await batch.commit(); // real batch write with overwrite - by Azmat on 23-sep
}
// update Entity
Future<int> update(String tableName, int entityId,
Map<String, dynamic> updatedEntity) async {
Database db = await conn.database;
int rowsAffected = await db.update(tableName, updatedEntity,
where: 'id = ?', whereArgs: [entityId]);
if (rowsAffected > 0) {
print('$tableName data updated successfully.');
} else {
print('Failed to update $tableName data.');
}
return rowsAffected;
}
// Deleting entity
Future<int> delete(String tableName, int entityId) async {
Database db = await conn.database;
// Delete the company
int rowsAffected =
await db.delete(tableName, where: 'id = ?', whereArgs: [entityId]);
if (rowsAffected > 0) {
print('$tableName data deleted successfully.');
} else {
print('Failed to delete comp $tableName any data.');
}
return rowsAffected;
}
Future<int> deleteAll(String tableName) async {
Database db = await conn.database;
return await db.delete(tableName); // clear table for fresh server sync - by Azmat on 23-sep
}
// get count
Future<int> getDataCount(String tableNmae) async {
Database db = await conn.database;
// Get the count of rows in the company table
int count = Sqflite.firstIntValue(
await db.rawQuery('SELECT COUNT(*) FROM $tableNmae'))!
.toInt();
print('Number of $tableNmae in the table: $count');
return count;
}
}
+168 -168
View File
@@ -1,168 +1,168 @@
// import 'dart:io';
// import 'package:connectivity/connectivity.dart';
// import 'package:sqflite_common_ffi/sqflite_ffi.dart';
// import '../../providers/token_manager.dart';
// import '../../resources/api_constants.dart';
// import 'UniController.dart';
// import 'companycontroller.dart';
// import 'databasehelper.dart';
// class LocalSyncronizationData {
// final String baseUrl = ApiConstants.baseUrl;
// final UniController uniController = UniController();
// final companycontroller companyController = companycontroller();
// final conn = DatabaseHelper.instance;
// static Future<bool> isInternet() async {
// var connectivityResult = await (Connectivity().checkConnectivity());
// if (connectivityResult == ConnectivityResult.mobile) {
// final result = await InternetAddress.lookup('www.google.com');
// if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
// print('mobile network connected');
// return true;
// } else {
// return false;
// }
// // if (await DataConnectionChecker().hasConnection) {
// // print("Mobile data detected & internet connection confirmed.");
// // return true;
// // }else{
// // print('No internet :( Reason:');
// // return false;
// // }
// } else if (connectivityResult == ConnectivityResult.wifi) {
// final result = await InternetAddress.lookup('www.google.com');
// if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
// print('wifi connected');
// return true;
// } else {
// print('wifi not connected');
// return false;
// }
// } else {
// print(
// "Neither mobile data or WIFI detected, not internet connection found.");
// return false;
// }
// }
// // Future saveCompanyToMysql() async {
// // Database db = await conn.database;
// // final token = await TokenManager.getToken();
// // print('company db is $db');
// // final List<Map<String, dynamic>> localEntities =
// // await db.query('company', orderBy: 'id DESC');
// // if (localEntities.isNotEmpty) {
// // final entities = (localEntities).cast<Map<String, dynamic>>();
// // for (var element in entities) {
// // companyService.createEntity1(token!, element);
// // }
// // }
// // }
// // for research status sync
// Future fetchResearchStatusData() async {
// List userList = [];
// Database db = await conn.database;
// try {
// final List<Map<String, dynamic>> localEntities =
// await db.query('research_status', orderBy: 'id DESC');
// if (localEntities.isNotEmpty) {
// final entities = (localEntities).cast<Map<String, dynamic>>();
// for (var element in entities) {
// userList.add(element);
// }
// }
// } catch (e) {
// print(e.toString());
// }
// return userList;
// }
// Future<List<Map<String, dynamic>>> fetchAllInfo() async {
// Database db = await conn.database;
// List<Map<String, dynamic>> researchList = [];
// try {
// final maps = await db.query('research_status');
// for (var item in maps!) {
// researchList.add(item);
// }
// } catch (e) {
// print(e.toString());
// }
// return researchList;
// }
// Future saveReserachToMysql(List researchList) async {
// final token = await TokenManager.getToken();
// for (var i = 0; i < researchList.length; i++) {
// Map<String, dynamic> data = {
// "id": researchList[i]['id'].toString(),
// "status_name": researchList[i]['status_name'],
// "description": researchList[i]['description'],
// "active": researchList[i]['active'],
// };
// final response = researchService.createEntity1(token!, data);
// print('eserach res is $response');
// }
// }
// // from online to offline for research status
// Future fetchResearchStatusDataOnline() async {
// List userList = [];
// Database db = await conn.database;
// final token = await TokenManager.getToken();
// try {
// final List<Map<String, dynamic>> entities =
// await researchService.getEntities1(token!);
// if (entities.isNotEmpty) {
// for (var element in entities) {
// userList.add(element);
// }
// }
// } catch (e) {
// print(e.toString());
// }
// return userList;
// }
// Future<List<Map<String, dynamic>>> fetchReserachOnlineInfo() async {
// Database db = await conn.database;
// List<Map<String, dynamic>> researchList = [];
// final token = await TokenManager.getToken();
// try {
// final List<Map<String, dynamic>> maps =
// await researchService.getEntities1(token!);
// for (var item in maps!) {
// researchList.add(item);
// }
// } catch (e) {
// print(e.toString());
// }
// return researchList;
// }
// Future saveReserachToMysqlOnline(List list) async {
// for (var element in list) {
// uniController.insertEntity(element, 'research_status');
// }
// }
// }
// import 'dart:io';
// import 'package:connectivity/connectivity.dart';
// import 'package:sqflite_common_ffi/sqflite_ffi.dart';
// import '../../providers/token_manager.dart';
// import '../../resources/api_constants.dart';
// import 'UniController.dart';
// import 'companycontroller.dart';
// import 'databasehelper.dart';
// class LocalSyncronizationData {
// final String baseUrl = ApiConstants.baseUrl;
// final UniController uniController = UniController();
// final companycontroller companyController = companycontroller();
// final conn = DatabaseHelper.instance;
// static Future<bool> isInternet() async {
// var connectivityResult = await (Connectivity().checkConnectivity());
// if (connectivityResult == ConnectivityResult.mobile) {
// final result = await InternetAddress.lookup('www.google.com');
// if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
// print('mobile network connected');
// return true;
// } else {
// return false;
// }
// // if (await DataConnectionChecker().hasConnection) {
// // print("Mobile data detected & internet connection confirmed.");
// // return true;
// // }else{
// // print('No internet :( Reason:');
// // return false;
// // }
// } else if (connectivityResult == ConnectivityResult.wifi) {
// final result = await InternetAddress.lookup('www.google.com');
// if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
// print('wifi connected');
// return true;
// } else {
// print('wifi not connected');
// return false;
// }
// } else {
// print(
// "Neither mobile data or WIFI detected, not internet connection found.");
// return false;
// }
// }
// // Future saveCompanyToMysql() async {
// // Database db = await conn.database;
// // final token = await TokenManager.getToken();
// // print('company db is $db');
// // final List<Map<String, dynamic>> localEntities =
// // await db.query('company', orderBy: 'id DESC');
// // if (localEntities.isNotEmpty) {
// // final entities = (localEntities).cast<Map<String, dynamic>>();
// // for (var element in entities) {
// // companyService.createEntity1(token!, element);
// // }
// // }
// // }
// // for research status sync
// Future fetchResearchStatusData() async {
// List userList = [];
// Database db = await conn.database;
// try {
// final List<Map<String, dynamic>> localEntities =
// await db.query('research_status', orderBy: 'id DESC');
// if (localEntities.isNotEmpty) {
// final entities = (localEntities).cast<Map<String, dynamic>>();
// for (var element in entities) {
// userList.add(element);
// }
// }
// } catch (e) {
// print(e.toString());
// }
// return userList;
// }
// Future<List<Map<String, dynamic>>> fetchAllInfo() async {
// Database db = await conn.database;
// List<Map<String, dynamic>> researchList = [];
// try {
// final maps = await db.query('research_status');
// for (var item in maps!) {
// researchList.add(item);
// }
// } catch (e) {
// print(e.toString());
// }
// return researchList;
// }
// Future saveReserachToMysql(List researchList) async {
// final token = await TokenManager.getToken();
// for (var i = 0; i < researchList.length; i++) {
// Map<String, dynamic> data = {
// "id": researchList[i]['id'].toString(),
// "status_name": researchList[i]['status_name'],
// "description": researchList[i]['description'],
// "active": researchList[i]['active'],
// };
// final response = researchService.createEntity1(token!, data);
// print('eserach res is $response');
// }
// }
// // from online to offline for research status
// Future fetchResearchStatusDataOnline() async {
// List userList = [];
// Database db = await conn.database;
// final token = await TokenManager.getToken();
// try {
// final List<Map<String, dynamic>> entities =
// await researchService.getEntities1(token!);
// if (entities.isNotEmpty) {
// for (var element in entities) {
// userList.add(element);
// }
// }
// } catch (e) {
// print(e.toString());
// }
// return userList;
// }
// Future<List<Map<String, dynamic>>> fetchReserachOnlineInfo() async {
// Database db = await conn.database;
// List<Map<String, dynamic>> researchList = [];
// final token = await TokenManager.getToken();
// try {
// final List<Map<String, dynamic>> maps =
// await researchService.getEntities1(token!);
// for (var item in maps!) {
// researchList.add(item);
// }
// } catch (e) {
// print(e.toString());
// }
// return researchList;
// }
// Future saveReserachToMysqlOnline(List list) async {
// for (var element in list) {
// uniController.insertEntity(element, 'research_status');
// }
// }
// }