Business Login Flutter Apps
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

43 行
1.6 KiB

  1. import 'dart:async';
  2. import 'package:bloc/bloc.dart';
  3. import 'package:equatable/equatable.dart';
  4. import '../../../Utils/keys.dart';
  5. import 'package:unitstocks/main.dart';
  6. import '../../../Utils/db_helper.dart';
  7. import '../../../Model/unit.dart';
  8. part 'load_state_event.dart';
  9. part 'load_state_state.dart';
  10. class LoadStateBloc extends Bloc<LoadStateEvent, LoadStateState> {
  11. LoadStateBloc() : super(LoadStateInitial()) {
  12. on<LoadStateEvent>( (event, emit)async {
  13. if(event is LoadState){
  14. emit(StateLoading());
  15. if(prefs.getString(Keys.lastDownload)== null){
  16. emit(LoadFailed(err: "Tarik data terlebih dahulu!"));
  17. }
  18. else{
  19. String company = prefs.getString(Keys.company);
  20. if(prefs.getString(Keys.stockId) == null)
  21. {
  22. var value = await DBHelper.database.getValue(Keys.stockId);
  23. if(value != null)await prefs.setString(Keys.stockId, value.value);
  24. }
  25. String stock_taking_id = prefs.getString(Keys.stockId);
  26. if(prefs.getString(Keys.backupStockId) == null) prefs.setString(Keys.backupStockId,stock_taking_id);
  27. if(company!=null&&stock_taking_id!=null){
  28. var result = await util.JsonDataPostRaw({"company":company,"stockTakingId":stock_taking_id}, '${prefs.getString(Keys.hostAddress)}/stock_taking/state/');
  29. if(result['STATUS']==1){
  30. emit(LoadSuccess(state: result['DATA']));
  31. }
  32. }
  33. else{
  34. emit(LoadFailed(err: "Error mengecek state Stoking Unit."));
  35. }
  36. }
  37. }
  38. });
  39. }
  40. }