Business Login Flutter Apps
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

53 line
2.0 KiB

  1. import 'dart:async';
  2. import 'package:bloc/bloc.dart';
  3. import 'package:equatable/equatable.dart';
  4. import 'package:flutter/foundation.dart';
  5. import 'package:flutter/cupertino.dart';
  6. import 'package:meta/meta.dart';
  7. import 'package:unitstocks/Model/unit.dart';
  8. import 'package:unitstocks/Utils/db_helper.dart';
  9. import '../../../main.dart';
  10. import '../../../Utils/keys.dart';
  11. import '../../../Model/unit.dart';
  12. import 'package:intl/intl.dart';
  13. part 'restore_event.dart';
  14. part 'restore_state.dart';
  15. class RestoreBloc extends Bloc<RestoreEvent, RestoreState> {
  16. RestoreBloc() : super(RestoreInitial()) {
  17. on<RestoreEvent>((event, emit) async {
  18. if(event is RestoreInit){
  19. if(defaultTargetPlatform == TargetPlatform.android){
  20. emit(RestoreLoading());
  21. var result = await DBHelper.database.restoreDb(event.context);
  22. if(result["STATUS"]==1){
  23. await prefs.remove(Keys.lastDownload);
  24. await prefs.remove(Keys.lastUpload);
  25. await prefs.remove(Keys.targetProccess);
  26. await prefs.remove(Keys.submitProccess);
  27. var value = await DBHelper.database.getValue(Keys.startDate);
  28. if(value != null) await prefs.setString(Keys.lastDownload, DateFormat('dd-MM-yyyy HH:mm:ss').parse(value.value).toIso8601String());
  29. else {
  30. await prefs.setString(Keys.lastDownload, DateTime.now().toIso8601String());
  31. }
  32. value = await DBHelper.database.getValue(Keys.stockId);
  33. if(value != null) await prefs.setString(Keys.stockId,value.value);
  34. else {
  35. await prefs.setString(Keys.stockId,prefs.getString(Keys.backupStockId));
  36. }
  37. emit(RestoreFinish(msg: result["MSG"]));
  38. }
  39. else{
  40. emit(RestoreFinish(success:false,msg: result["MSG"]));
  41. }
  42. }
  43. else {
  44. emit(RestoreFinish(success:false,msg: "OS ini tidak mendukung fitur backup"));
  45. }
  46. }
  47. });
  48. }
  49. }