add cache for medicines

This commit is contained in:
Patrick Alvin Alcala 2025-03-21 15:33:00 +08:00
parent 518415aa4e
commit 92df0af895
12 changed files with 110 additions and 14 deletions

View file

@ -0,0 +1,14 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/medicinelist/medicinelist_cache_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/medicinelist/medicinelist_cache_event.dart';
Future<List> cacheGetMedicineList(BuildContext context) async {
try {
final medicineListCache = context.read<MedicineListBloc>();
medicineListCache.add(MedicineListCacheGet());
return medicineListCache.state.value;
} catch (e) {
return [];
}
}

View file

@ -0,0 +1,14 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/medicinelist/medicinelist_cache_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/medicinelist/medicinelist_cache_event.dart';
Future<bool> cacheSetMedicineList(BuildContext context, List value) async {
try {
final medicineListCache = context.read<MedicineListBloc>();
medicineListCache.add(MedicineListCacheSet(value));
return true;
} catch (e) {
return false;
}
}

View file

@ -0,0 +1,14 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/medicinelist/medicinelist_cache_event.dart';
import 'package:pharmacy_mobile/blocs/caches/medicinelist/medicinelist_cache_state.dart';
class MedicineListBloc extends Bloc<MedicineListCacheEvent, MedicineListCacheState> {
MedicineListBloc() : super(MedicineListCacheState([])) {
on<MedicineListCacheSet>((event, emit) {
emit(MedicineListCacheState(event.value));
});
on<MedicineListCacheGet>((event, emit) {
emit(state);
});
}
}

View file

@ -0,0 +1,8 @@
abstract class MedicineListCacheEvent {}
class MedicineListCacheSet extends MedicineListCacheEvent {
final List value;
MedicineListCacheSet(this.value);
}
class MedicineListCacheGet extends MedicineListCacheEvent {}

View file

@ -0,0 +1,5 @@
class MedicineListCacheState {
final List value;
MedicineListCacheState(this.value);
}

View file

@ -9,6 +9,7 @@ Future<List> cacheGetTypeList(BuildContext context) async {
typeListCache.add(TypeListCacheGet());
return typeListCache.state.value;
} catch (e) {
print(e);
return [];
}
}