feat : cashing data in local storage and send it

This commit is contained in:
2025-08-11 12:56:26 +03:30
parent 2669af7a92
commit aa1b9e899a
16 changed files with 635 additions and 32 deletions

View File

@@ -0,0 +1,40 @@
import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_livestock/data/model/local/live_tmp/car.dart';
import 'package:rasadyar_livestock/data/model/local/live_tmp/livestock_local_model.dart';
import 'package:rasadyar_livestock/data/model/response/live_tmp/livestock_model.dart';
import 'package:rasadyar_livestock/data/utils/mapper.dart';
class LiveStockStorageService extends GetxService {
final String _liveStockBoxName = 'LiveStockBox';
late IsolatedBox<LivestockLocalModel> _LiveStockbox;
late IsolatedBox<CarsLocal> _carbox;
@override
void onInit() {
super.onInit();
wLog('LiveStockStorageService onInit');
IsolatedHive.openBox<LivestockLocalModel>(_liveStockBoxName).then((value) {
_LiveStockbox = value;
});
}
Future<void> saveLiveStockData(LivestockData livestockData) async {
LivestockLocalModel tmp = livestockData.toLocal();
await _LiveStockbox.add(tmp);
}
Future<void> saveBulkLiveStockData(Iterable<LivestockData> livesList) async {
var tmp = livesList.map((e) => e.toLocal()).toList();
await _LiveStockbox.addAll(tmp);
}
Future<List<LivestockData>> getLiveStockData() async {
var liveLocationList = await _LiveStockbox.values;
var res = liveLocationList.map((e) => e.toData()).toList();
return res;
}
Future<int> deleteLiveBox() async {
return await _LiveStockbox.clear();
}
}