added cache for generics

This commit is contained in:
Patrick Alvin Alcala 2025-03-20 14:17:01 +08:00
parent 1aa7410e2e
commit bcf9823ffb
13 changed files with 108 additions and 9 deletions

View file

@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:image_picker/image_picker.dart';
import 'package:internet_connection_checker/internet_connection_checker.dart';
import 'package:pharmacy_mobile/blocs/caches/genericlist/functions/cache_getgenericlist.dart';
import 'package:pharmacy_mobile/functions/barcode_scan_function.dart';
import 'package:pharmacy_mobile/functions/checkresult_function.dart';
import 'package:pharmacy_mobile/tables/ref_categories.dart';
@ -58,7 +59,14 @@ class _AddMedicinePageState extends State<AddMedicinePage> {
late String imageUrl = '';
Future<void> _getGenerics() async {
_genericNameList = await _refGenericNames.getList();
final cache = await cacheGetGenericList(context);
if (cache.isNotEmpty) {
_genericNameList = cache;
} else {
_genericNameList = await _refGenericNames.getList();
}
setState(() {
checkResult(context, _genericNameList, 'Generics');
});

View file

@ -3,9 +3,10 @@ import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:gap/gap.dart';
import 'package:go_router/go_router.dart';
import 'package:pharmacy_mobile/auth/auth_service.dart';
import 'package:pharmacy_mobile/blocs/caches/categorylist/functions/cache_getcategorylist.dart';
import 'package:pharmacy_mobile/blocs/caches/categorylist/functions/cache_setcategorylist.dart';
import 'package:pharmacy_mobile/blocs/caches/genericlist/functions/cache_setgenericlist.dart';
import 'package:pharmacy_mobile/tables/ref_categories.dart';
import 'package:pharmacy_mobile/tables/ref_generic_names.dart';
import 'package:pharmacy_mobile/widgets/buttonwithprogress_widget.dart';
import 'package:pharmacy_mobile/widgets/menu_widget.dart';
import 'package:pharmacy_mobile/widgets/page_background_widget.dart';
@ -24,6 +25,7 @@ class MainPage extends StatefulWidget {
class _MainPageState extends State<MainPage> {
final _authService = AuthService();
final _refCategories = RefCategories();
final _refGenericNames = RefGenericNames();
late bool _isLoading = false;
@ -76,15 +78,26 @@ class _MainPageState extends State<MainPage> {
if (!setCache) {
// ignore: use_build_context_synchronously
showNotification(context, 'Caching failed', false);
} else {
print('Caching Success');
}
}
}
Future<void> _getGenericListCache() async {
final genericNameList = await _refGenericNames.getList();
if (genericNameList.isNotEmpty) {
// ignore: use_build_context_synchronously
final setCache = await cacheSetGenericList(context, genericNameList);
if (!setCache) {
// ignore: use_build_context_synchronously
showNotification(context, 'Caching failed', false);
}
}
}
void autoRun() async {
await _getCategoryListCache();
await _getGenericListCache();
}
@override