actualiza todos los campos excepto schedule

This commit is contained in:
Felipe
2024-03-19 15:40:07 -05:00
parent bb840260ba
commit 10536be873
13 changed files with 868 additions and 33 deletions
@@ -74,8 +74,8 @@ class ProfessionalBloc extends Bloc<ProfessionalEvent, ProfessionalState> {
specializations: event.specializations,
specializationsPictures: specializationsPdfUrls,
certificatePicture: certificatePdfUrl,
latitude: '',
longitude: '',
latitude: 0,
longitude: 0,
rate: '',
locationPreferences: LocationPreferences.office,
bannerPicture: '',
@@ -5,16 +5,46 @@ import 'package:professional_repository/professional_repository.dart';
part 'professional_profile_event.dart';
part 'professional_profile_state.dart';
class ProfessionalProfileBloc extends Bloc<ProfessionalProfileEvent, ProfessionalProfileState> {
class ProfessionalProfileBloc
extends Bloc<ProfessionalProfileEvent, ProfessionalProfileState> {
final FirebaseProfessionalRepository _professionalRepository;
ProfessionalProfileBloc({required FirebaseProfessionalRepository professionalRepository}) : _professionalRepository = professionalRepository, super((UpdateProfessionalInfoInitial())) {
on<UpdateProfessionalInfo>(_onUpdateProfessionalInfo);
ProfessionalProfileBloc(
{required FirebaseProfessionalRepository professionalRepository})
: _professionalRepository = professionalRepository,
super((UpdateProfessionalInfoInitial())) {
on<UpdateProfessionalBannerInfo>(_onUpdateProfessionalBannerInfo);
on<UpdateProfessionalProfileInfo>(_onUpdateProfessionalProfileInfo);
}
void _onUpdateProfessionalInfo(UpdateProfessionalInfo event, Emitter<ProfessionalProfileState> emit) async {
void _onUpdateProfessionalBannerInfo(UpdateProfessionalBannerInfo event,
Emitter<ProfessionalProfileState> 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<ProfessionalProfileState> emit) async {
emit(UpdateProfessionalInfoLoading());
try {
await _professionalRepository.updateProfessionalInfo(
event.address,
event.aditionalAddress,
event.rate,
event.locationPreferences,
event.latitude,
event.longitude,
event.paymentMethods,
);
emit(const UpdateProfessionalInfoSuccess());
} catch (e) {
emit(UpdateProfessionalInfoFailure());
@@ -7,15 +7,47 @@ abstract class ProfessionalProfileEvent extends Equatable {
List<Object?> get props => [];
}
class UpdateProfessionalInfo extends ProfessionalProfileEvent {
final ProfessionalEntity professional;
class UpdateProfessionalBannerInfo extends ProfessionalProfileEvent {
final String? fileBanner;
const UpdateProfessionalInfo({
required this.professional,
this.fileBanner,
const UpdateProfessionalBannerInfo({
required this.fileBanner,
});
@override
List<Object?> get props => [professional, fileBanner];
List<Object?> get props => [fileBanner];
}
class UpdateProfessionalProfileInfo extends ProfessionalProfileEvent {
final String address;
final String aditionalAddress;
final String rate;
final LocationPreferences locationPreferences;
final double latitude;
final double longitude;
// final Schedules schedules;
final PaymentMethodEntity paymentMethods;
const UpdateProfessionalProfileInfo({
required this.address,
required this.aditionalAddress,
required this.rate,
required this.locationPreferences,
required this.latitude,
required this.longitude,
// required this.schedules,
required this.paymentMethods,
});
@override
List<Object?> get props => [
address,
aditionalAddress,
rate,
locationPreferences,
latitude,
longitude,
// schedules,
paymentMethods
];
}