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> fetchAllInfo() async { final dbClient = await conn.db; List 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 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 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 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 fetchTransferPetiLocalController() async { var dbclient = await conn.db; List transferPetiList = []; try { List> 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> fetchTransferPetiDataId() async { var dbclient = await conn.db; List transferPetiList = []; try { List> 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 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 deleteAllData() async { var dbClient = await conn.db; await dbClient!.delete(SqfliteDatabaseHelper.transferPetiTable); } Future addAllData(List 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 fetchPetiData() async { var dbclient = await conn.db; List petiList = []; try { List> 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 fetchTipePetiData() async { var dbclient = await conn.db; List tipePetiList = []; try { List> 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 fetchCustomerData() async { var dbclient = await conn.db; List customerList = []; try { List> 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 fetchWarehouseData() async { var dbclient = await conn.db; List warehouseList = []; try { List> maps = await dbclient! .query(SqfliteDatabaseHelper.warehouseTable, orderBy: 'id DESC'); for (var item in maps) { warehouseList.add(item); } } catch (e) { print(e.toString()); } return warehouseList; } }