|
- import 'dart:async';
-
- import 'package:bloc/bloc.dart';
- import 'package:equatable/equatable.dart';
- import '../../../Model/unit.dart';
- import '../../../Utils/db_helper.dart';
-
-
- part 'list_unit_event.dart';
- part 'list_unit_state.dart';
-
- class ListUnitBloc extends Bloc<ListUnitEvent, ListUnitState> {
- ListUnitBloc() : super(ListUnitInitial()) {
- on<ListUnitEvent>((event, emit) async {
- if(event is ListUnit){
- emit(ListUnitLoading());
- List<Unit> units = [];
- List<Blob?> blobs = [];
- try{
- await DBHelper.database.closeDb();
- if(event.search != null && event.search != ""){
- units = await DBHelper.database.searchAllUnits(event.search!.toUpperCase(),inserted: event.completed);
- }
- else{
- units = await DBHelper.database.getAllUnits(inserted: event.completed);
- }
- for (int i = 0;i<units.length;i++){
- blobs.add((units[i].mesin!=null)?await DBHelper.database.getThumbnail(units[i].mesin):null);
- }
- emit(ListUnitFinish(units: units,blobs: blobs));
- }
- catch(e){
- emit(ListUnitError(err: e.toString()));
- }
- }
- });
- }
- }
|