Siopas Inventory PETI for ISTW Mobile
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

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;
}
}