add cache for stocks

This commit is contained in:
Patrick Alvin Alcala 2025-03-24 11:50:39 +08:00
parent 92df0af895
commit de5a7c66a3
11 changed files with 134 additions and 3 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/stocklist/stocklist_cache_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/stocklist/stocklist_cache_event.dart';
Future<List> cacheGetStockList(BuildContext context) async {
try {
final stockListCache = context.read<StockListBloc>();
stockListCache.add(StockListCacheGet());
return stockListCache.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/stocklist/stocklist_cache_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/stocklist/stocklist_cache_event.dart';
Future<bool> cacheSetStockList(BuildContext context, List value) async {
try {
final stockListCache = context.read<StockListBloc>();
stockListCache.add(StockListCacheSet(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/stocklist/stocklist_cache_event.dart';
import 'package:pharmacy_mobile/blocs/caches/stocklist/stocklist_cache_state.dart';
class StockListBloc extends Bloc<StockListCacheEvent, StockListCacheState> {
StockListBloc() : super(StockListCacheState([])) {
on<StockListCacheSet>((event, emit) {
emit(StockListCacheState(event.value));
});
on<StockListCacheGet>((event, emit) {
emit(state);
});
}
}

View file

@ -0,0 +1,8 @@
abstract class StockListCacheEvent {}
class StockListCacheSet extends StockListCacheEvent {
final List value;
StockListCacheSet(this.value);
}
class StockListCacheGet extends StockListCacheEvent {}

View file

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

View file

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