import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:unit2/model/profile/basic_info.dart'; import 'package:unit2/model/profile/basic_information/primary-information.dart'; import 'package:unit2/model/profile/eligibility.dart'; import 'package:unit2/model/profile/profileInfomation.dart'; import 'package:unit2/model/utils/eligibility.dart'; import 'package:unit2/sevices/profile/profile_service.dart'; import 'package:unit2/utils/location_utilities.dart'; import 'package:unit2/utils/profile_utilities.dart'; import '../../model/location/country.dart'; import '../../model/location/region.dart'; import '../../model/location/provinces.dart'; import '../../model/location/city.dart'; import '../../model/location/barangay.dart'; part 'profile_event.dart'; part 'profile_state.dart'; class ProfileBloc extends Bloc { ProfileBloc() : super(ProfileInitial()) { ProfileInformation? _profileInformation; on((event, emit) async { // try { emit(ProfileLoading()); ProfileInformation? profileInformation = await ProfileService.instance.getProfile(event.token, event.userID); _profileInformation = profileInformation; emit(ProfileLoaded(profileInformation: _profileInformation!)); // } catch (e) { // emit(ProfileErrorState(mesage: e.toString())); // } }); on((event, emit) { emit(ProfileLoading()); emit(EligibilityLoaded(eligibilities: event.eligibilities)); }); on((event, emit) async { // try{ emit(ProfileLoading()); List regions = await LocationUtils.instance.getRegions(); List eligibilities = await ProfileUtilities.instance.getEligibilities(); bool? isOverseas = event.eligibityCert.overseas; List provinces = event.eligibityCert.examAddress?.cityMunicipality?.province?.region != null ? await LocationUtils.instance.getProvinces( regionCode: event.eligibityCert.examAddress!.cityMunicipality! .province!.region!.code! .toString()) : []; List citymuns = event.eligibityCert.examAddress?.cityMunicipality != null ? await LocationUtils.instance.getCities( code: event.eligibityCert.examAddress!.cityMunicipality! .province!.code!) : []; emit(EditNotOverseasEligibilityState( currentEligibility: null, currentRegion: null, isOverseas: isOverseas!, cityMuns: citymuns, provinces: provinces, eligibityCert: event.eligibityCert, regions: regions, eligibilities: eligibilities)); // }catch(e){ // emit(ProfileErrorState(mesage: e.toString())); // } });on((event,emit)async{ emit(ProfileLoading()); List countries = await LocationUtils.instance.getCountries(); List eligibilities = await ProfileUtilities.instance.getEligibilities(); bool? isOverseas = event.eligibityCert.overseas; emit(EditOverseasEligibilityState( countries: countries, currentCOuntry: null, currentEligibility: null, isOverseas: isOverseas!, eligibityCert: event.eligibityCert, eligibilities: eligibilities)); }); } }