import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import '../../../Utils/keys.dart'; import 'package:unitstocks/main.dart'; import '../../../Utils/db_helper.dart'; import '../../../Model/unit.dart'; part 'load_state_event.dart'; part 'load_state_state.dart'; class LoadStateBloc extends Bloc { LoadStateBloc() : super(LoadStateInitial()) { on( (event, emit)async { if(event is LoadState){ emit(StateLoading()); if(prefs.getString(Keys.lastDownload)== null){ emit(LoadFailed(err: "Tarik data terlebih dahulu!")); } else{ String company = prefs.getString(Keys.company); if(prefs.getString(Keys.stockId) == null) { var value = await DBHelper.database.getValue(Keys.stockId); if(value != null)await prefs.setString(Keys.stockId, value.value); } String stock_taking_id = prefs.getString(Keys.stockId); if(prefs.getString(Keys.backupStockId) == null) prefs.setString(Keys.backupStockId,stock_taking_id); if(company!=null&&stock_taking_id!=null){ var result = await util.JsonDataPostRaw({"company":company,"stockTakingId":stock_taking_id}, '${prefs.getString(Keys.hostAddress)}/stock_taking/state/'); if(result['STATUS']==1){ emit(LoadSuccess(state: result['DATA'])); } } else{ emit(LoadFailed(err: "Error mengecek state Stoking Unit.")); } } } }); } }