|
- import 'dart:async';
-
- import 'package:bloc/bloc.dart';
- import 'package:equatable/equatable.dart';
- import '../../../main.dart';
- import '../../../Model/unit.dart';
- import '../../../Utils/db_helper.dart';
- import 'package:intl/intl.dart';
-
- part 'save_unit_event.dart';
- part 'save_unit_state.dart';
-
- class SaveUnitBloc extends Bloc<SaveUnitEvent, SaveUnitState> {
- SaveUnitBloc() : super(SaveUnitInitial()) {
- on<SaveUnitEvent>((event, emit) async{
- if(event is Save){
- emit(SaveUnitLoading());
- String? errMsg;
- bool succeed = false;
- Unit _currentUnit = event.unit;
- List<Blob> blobList = event.blobs;
- for(int i = 0 ; i<blobList.length;i++){
- blobList[i].lat = currentPosisiton!.latitude.toString();
- blobList[i].long = currentPosisiton!.longitude.toString();
- var result = await DBHelper.database.updateBlob(blobList[i]);
- succeed = (result!=null);
- if(!succeed) {
- i = blobList.length;
- errMsg = "Gagal menyimpan foto unit!";
- }
- }
- if(succeed){
- _currentUnit.timestamp = DateFormat('dd-MM-yyyy HH:mm:ss').format(DateTime.now());
- _currentUnit.flag = 'TRUE';
- var result = await DBHelper.database.updateUnit(_currentUnit);
- succeed = (result!=null);
- if(!succeed) {
- errMsg = "Gagal menyimpan data unit!";
- }
- }
- emit(SaveFinish(msg: errMsg??"Data Saved", success: (errMsg == null)));
- }
- });
- }
- }
|