You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
205 lines
5.8 KiB
205 lines
5.8 KiB
import 'dart:async'; |
|
|
|
import 'package:connectivity_plus/connectivity_plus.dart'; |
|
// import 'package:siopas/models/asset_status_model.dart'; |
|
import 'package:siopas/models/transfer_peti_model.dart'; |
|
// import 'package:http/http.dart' as http; |
|
import 'package:internet_connection_checker/internet_connection_checker.dart'; |
|
import 'package:sqflite/sqflite.dart'; |
|
|
|
import '../../../migrations/databasehelper.dart'; |
|
|
|
class ControllerTransferPeti { |
|
final conn = SqfliteDatabaseHelper.instance; |
|
|
|
Future<List<TransferPetiModel>> fetchAllInfo() async { |
|
final dbClient = await conn.db; |
|
List<TransferPetiModel> transferPetiList = []; |
|
try { |
|
final maps = |
|
await dbClient!.query(SqfliteDatabaseHelper.transferPetiTable); |
|
for (var item in maps) { |
|
transferPetiList.add(TransferPetiModel.fromJson(item)); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return transferPetiList; |
|
} |
|
|
|
static Future<bool> isInternet() async { |
|
var connectivityResult = await (Connectivity().checkConnectivity()); |
|
if (connectivityResult == ConnectivityResult.mobile) { |
|
if (await InternetConnectionChecker().hasConnection) { |
|
print("Mobile data detected & internet connection confirmed."); |
|
return true; |
|
} else { |
|
print('No internet :( Reason:'); |
|
return false; |
|
} |
|
} else if (connectivityResult == ConnectivityResult.wifi) { |
|
if (await InternetConnectionChecker().hasConnection) { |
|
print("wifi data detected & internet connection confirmed."); |
|
return true; |
|
} else { |
|
print('No internet :( Reason:'); |
|
return false; |
|
} |
|
} else { |
|
print( |
|
"Neither mobile data or WIFI detected, not internet connection found."); |
|
return false; |
|
} |
|
} |
|
|
|
Future<int> addData(TransferPetiModel transferPetiAddModel) async { |
|
var dbclient = await conn.db; |
|
int result = 0; // Provide an initial value |
|
try { |
|
result = await dbclient!.insert(SqfliteDatabaseHelper.transferPetiTable, |
|
transferPetiAddModel.toJson()); |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return result; |
|
} |
|
|
|
Future<int> updateData(TransferPetiModel transferPetiAddModel) async { |
|
var dbclient = await conn.db; |
|
late int result; |
|
try { |
|
result = await dbclient!.update( |
|
SqfliteDatabaseHelper.transferPetiTable, |
|
transferPetiAddModel.toJson(), |
|
where: 'id=?', |
|
whereArgs: [transferPetiAddModel.id], |
|
); |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return result; |
|
} |
|
|
|
Future<List> fetchTransferPetiLocalController() async { |
|
var dbclient = await conn.db; |
|
List transferPetiList = []; |
|
try { |
|
List<Map<String, dynamic>> maps = await dbclient! |
|
.query(SqfliteDatabaseHelper.transferPetiTable, orderBy: 'id DESC'); |
|
for (var item in maps) { |
|
transferPetiList.add(item); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return transferPetiList; |
|
} |
|
|
|
Future<List<TransferPetiModel>> fetchTransferPetiDataId() async { |
|
var dbclient = await conn.db; |
|
List<TransferPetiModel> transferPetiList = []; |
|
try { |
|
List<Map<String, dynamic>> maps = await dbclient! |
|
.query(SqfliteDatabaseHelper.transferPetiTable, orderBy: 'id DESC'); |
|
for (var item in maps) { |
|
transferPetiList.add(TransferPetiModel.fromJson(item)); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return transferPetiList; |
|
} |
|
|
|
Future<void> deleteTransferPetiById(String id) async { |
|
var dbclient = await conn.db; |
|
try { |
|
await dbclient!.delete( |
|
SqfliteDatabaseHelper.transferPetiTable, |
|
where: 'id = ?', |
|
whereArgs: [id], |
|
); |
|
} catch (e) { |
|
print('Gagal menghapus transfer peti dari database: $e'); |
|
throw Exception('Gagal menghapus transfer peti'); |
|
} |
|
} |
|
|
|
Future<void> deleteAllData() async { |
|
var dbClient = await conn.db; |
|
await dbClient!.delete(SqfliteDatabaseHelper.transferPetiTable); |
|
} |
|
|
|
Future<void> addAllData(List<TransferPetiModel> transferPetiList) async { |
|
var dbclient = await conn.db; |
|
Batch batch = dbclient!.batch(); |
|
|
|
for (var transferPeti in transferPetiList) { |
|
batch.insert( |
|
SqfliteDatabaseHelper.transferPetiTable, |
|
transferPeti.toJson(), |
|
); |
|
} |
|
|
|
await batch.commit(); |
|
} |
|
|
|
Future<List> fetchPetiData() async { |
|
var dbclient = await conn.db; |
|
List petiList = []; |
|
try { |
|
List<Map<String, dynamic>> maps = await dbclient! |
|
.query(SqfliteDatabaseHelper.petiTable, orderBy: 'id DESC'); |
|
for (var item in maps) { |
|
petiList.add(item); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return petiList; |
|
} |
|
|
|
Future<List> fetchTipePetiData() async { |
|
var dbclient = await conn.db; |
|
List tipePetiList = []; |
|
try { |
|
List<Map<String, dynamic>> maps = await dbclient! |
|
.query(SqfliteDatabaseHelper.typePetiTable, orderBy: 'id DESC'); |
|
for (var item in maps) { |
|
tipePetiList.add(item); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return tipePetiList; |
|
} |
|
|
|
Future<List> fetchCustomerData() async { |
|
var dbclient = await conn.db; |
|
List customerList = []; |
|
try { |
|
List<Map<String, dynamic>> maps = await dbclient! |
|
.query(SqfliteDatabaseHelper.customerTable, orderBy: 'id DESC'); |
|
for (var item in maps) { |
|
customerList.add(item); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return customerList; |
|
} |
|
|
|
Future<List> fetchWarehouseData() async { |
|
var dbclient = await conn.db; |
|
List warehouseList = []; |
|
try { |
|
List<Map<String, dynamic>> maps = await dbclient! |
|
.query(SqfliteDatabaseHelper.warehouseTable, orderBy: 'id DESC'); |
|
for (var item in maps) { |
|
warehouseList.add(item); |
|
} |
|
} catch (e) { |
|
print(e.toString()); |
|
} |
|
return warehouseList; |
|
} |
|
}
|
|
|