import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:professional_repository/professional_repository.dart'; part 'professional_profile_event.dart'; part 'professional_profile_state.dart'; class ProfessionalProfileBloc extends Bloc { final ApiProfessionalRepository _professionalRepository; ProfessionalProfileBloc( {required ApiProfessionalRepository professionalRepository}) : _professionalRepository = professionalRepository, super((UpdateProfessionalInfoInitial())) { on(_onUpdateProfessionalBannerInfo); on(_onUpdateProfessionalProfileInfo); } void _onUpdateProfessionalBannerInfo(UpdateProfessionalBannerInfo event, Emitter emit) async { emit(UpdateProfessionalInfoLoading()); try { event.fileBanner != null ? await _professionalRepository.uploadBannerPicture(event.fileBanner!) : null; emit(const UpdateProfessionalInfoSuccess()); } catch (e) { emit(UpdateProfessionalInfoFailure()); } } void _onUpdateProfessionalProfileInfo(UpdateProfessionalProfileInfo event, Emitter emit) async { emit(UpdateProfessionalInfoLoading()); try { await _professionalRepository.updateProfessionalInfo( event.address, event.aditionalAddress, event.ratePreferences, event.rate, event.locationPreferences, event.latitude, event.longitude, event.schedules, event.paymentMethods, ); emit(const UpdateProfessionalInfoSuccess()); } catch (e) { emit(UpdateProfessionalInfoFailure()); } } }