|
- import 'dart:async';
-
- import 'package:bloc/bloc.dart';
- import 'package:equatable/equatable.dart';
- import '../../../Utils/keys.dart';
- import '../../../Model/unit.dart';
- import '../../../Utils/db_helper.dart';
- import 'package:unitstocks/main.dart';
- import 'package:intl/intl.dart';
- import '../../../Utils/download_upload_handler.dart';
- part 'get_unit_event.dart';
- part 'get_unit_state.dart';
-
- class GetUnitBloc extends Bloc<GetUnitEvent, GetUnitState> {
- GetUnitBloc() : super(GetUnitInitial()) {
- on<GetUnitEvent>((event, emit) async {
- if(event is GetUnitInit){
- if(prefs.getString(Keys.cabangId) != null && prefs.getString(Keys.company) != null){
- emit(GetUnitLoading(percent: 0.0));
- file_Trans_Handler trans = new file_Trans_Handler();
- trans.downloadFile('UnitStocking.db',"${prefs.getString(Keys.hostAddress)}/stock_taking/get_units/${prefs.getString(Keys.company)}/${prefs.getString(Keys.cabangId)}");
- await for (double? value in await trans.progress){
- if(value != null){
- emit(GetUnitLoading(percent:value));
- if(value >= 1.0) {
- await prefs.setString(Keys.lastDownload, DateTime.now().toIso8601String());
- await DBHelper.database.insertUpdateValue(Value(name: 'TGL_START',value: DateFormat('dd-MM-yyyy HH:mm:ss').format(DateTime.parse(DateTime.now().toIso8601String()))));
- await DBHelper.database.insertUpdateValue(Value(name: 'TGL_STOCK_TAKING',value: DateFormat('dd-MM-yyyy').format(DateTime.parse(DateTime.now().toIso8601String()))));
- await DBHelper.database.closeDb();
- emit(GetUnitFinish(respond: 'Data terdownload'));
- }
- if(value==-1.0){
- emit(GetUnitFinish(respond: 'Data download gagal',success: false));
- }
- }
- }
- }
- else{
- emit(GetUnitFinish(respond: 'Belum ada cabang yang dipilih!',success: false));
- }
- }
- });
- }
- }
|