|
- import 'dart:async';
-
- import 'package:bloc/bloc.dart';
- import 'package:equatable/equatable.dart';
- import 'package:flutter/foundation.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:meta/meta.dart';
- import 'package:unitstocks/Model/unit.dart';
- import 'package:unitstocks/Utils/db_helper.dart';
- import '../../../main.dart';
- import '../../../Utils/keys.dart';
- import '../../../Model/unit.dart';
- import 'package:intl/intl.dart';
-
- part 'restore_event.dart';
- part 'restore_state.dart';
-
- class RestoreBloc extends Bloc<RestoreEvent, RestoreState> {
- RestoreBloc() : super(RestoreInitial()) {
- on<RestoreEvent>((event, emit) async {
- if(event is RestoreInit){
- if(defaultTargetPlatform == TargetPlatform.android){
- emit(RestoreLoading());
- var result = await DBHelper.database.restoreDb(event.context);
- if(result["STATUS"]==1){
- await prefs.remove(Keys.lastDownload);
- await prefs.remove(Keys.lastUpload);
- await prefs.remove(Keys.targetProccess);
- await prefs.remove(Keys.submitProccess);
- var value = await DBHelper.database.getValue(Keys.startDate);
- if(value != null) await prefs.setString(Keys.lastDownload, DateFormat('dd-MM-yyyy HH:mm:ss').parse(value.value).toIso8601String());
- else {
- await prefs.setString(Keys.lastDownload, DateTime.now().toIso8601String());
- }
- value = await DBHelper.database.getValue(Keys.stockId);
- if(value != null) await prefs.setString(Keys.stockId,value.value);
- else {
- await prefs.setString(Keys.stockId,prefs.getString(Keys.backupStockId));
- }
- emit(RestoreFinish(msg: result["MSG"]));
- }
- else{
- emit(RestoreFinish(success:false,msg: result["MSG"]));
- }
- }
- else {
- emit(RestoreFinish(success:false,msg: "OS ini tidak mendukung fitur backup"));
- }
- }
- });
- }
- }
|