added cache for distributors

This commit is contained in:
Patrick Alvin Alcala 2025-04-22 11:33:46 +08:00
parent 77fae74302
commit f2fdfc644a
6 changed files with 70 additions and 4 deletions

View file

@ -0,0 +1,14 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/distributorlist/distributorlist_cache_event.dart';
import 'package:pharmacy_mobile/blocs/caches/distributorlist/distributorlist_cache_state.dart';
class DistributorListBloc extends Bloc<DistributorListCacheEvent, DistributorListCacheState> {
DistributorListBloc() : super(DistributorListCacheState([])) {
on<DistributorListCacheSet>((event, emit) {
emit(DistributorListCacheState(event.value));
});
on<DistributorListCacheGet>((event, emit) {
emit(state);
});
}
}

View file

@ -0,0 +1,8 @@
abstract class DistributorListCacheEvent {}
class DistributorListCacheSet extends DistributorListCacheEvent {
final List value;
DistributorListCacheSet(this.value);
}
class DistributorListCacheGet extends DistributorListCacheEvent {}

View file

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

View file

@ -0,0 +1,14 @@
import 'package:flutter/widgets.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/distributorlist/distributorlist_cache_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/distributorlist/distributorlist_cache_event.dart';
Future<List> cacheGetDistributorList(BuildContext context) async {
try {
final distributorListCache = context.read<DistributorListBloc>();
distributorListCache.add(DistributorListCacheGet());
return distributorListCache.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/distributorlist/distributorlist_cache_bloc.dart';
import 'package:pharmacy_mobile/blocs/caches/distributorlist/distributorlist_cache_event.dart';
Future<bool> cacheSetDistributorList(BuildContext context, List value) async {
try {
final distributorListCache = context.read<DistributorListBloc>();
distributorListCache.add(DistributorListCacheSet(value));
return true;
} catch (e) {
return false;
}
}