actualiza todos los campos excepto schedule
This commit is contained in:
@@ -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
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user