form pro - sin imagenes
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import 'dart:developer';
|
||||
|
||||
// ignore: depend_on_referenced_packages
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:professional_repository/professional_repository.dart';
|
||||
import 'package:user_repository/user_repository.dart';
|
||||
|
||||
part 'professional_event.dart';
|
||||
part 'professional_state.dart';
|
||||
|
||||
class ProfessionalBloc extends Bloc<ProfessionalEvent, ProfessionalState> {
|
||||
final FirebaseProfessionalRepository _professionalRepository;
|
||||
final UserRepository _userRepository;
|
||||
|
||||
ProfessionalBloc(
|
||||
{required FirebaseProfessionalRepository professionalRepository,
|
||||
required UserRepository userRepository})
|
||||
: _professionalRepository = professionalRepository,
|
||||
_userRepository = userRepository,
|
||||
super(ProfessionalInitial()) {
|
||||
bool isProModeActive = _professionalRepository.isProModeActive;
|
||||
emit(LoadedModeProState(isProModeActive));
|
||||
|
||||
_professionalRepository.sreamIsProModeActive().listen((isProModeActive) {
|
||||
log('xdd despues de escuchar');
|
||||
|
||||
add(UpdateProfessionalEvent(isProModeActive: isProModeActive));
|
||||
});
|
||||
|
||||
on<SwitchProModeEvent>((event, emit) async {
|
||||
await _professionalRepository.switchProMode();
|
||||
});
|
||||
|
||||
on<UpdateProfessionalEvent>((event, emit) async {
|
||||
emit(LoadedModeProState(event.isProModeActive));
|
||||
});
|
||||
|
||||
on<SendProfessionalToReviewEvent>((event, emit) async {
|
||||
final myUser = await _userRepository.lastUser();
|
||||
if (myUser == null) return;
|
||||
await _professionalRepository.saveProfessionalInfo(ProfessionalEntity(
|
||||
id: event.id,
|
||||
identification: event.identification,
|
||||
identificationPicture: event.identificationPicture,
|
||||
address: '',
|
||||
profession: event.profession,
|
||||
specializations: event.specializations,
|
||||
specializationsPictures: event.specializationsPictures,
|
||||
certificatePicture: event.certificatePicture,
|
||||
latitude: '',
|
||||
longitude: '',
|
||||
rate: '',
|
||||
location: '',
|
||||
schedules: Schedules.empty,
|
||||
paymentMethods: PaymentMethodEntity.empty,
|
||||
));
|
||||
|
||||
_userRepository
|
||||
.updateUserInfo(myUser.copyWith(proState: ProState.pending));
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
part of 'professional_bloc.dart';
|
||||
|
||||
abstract class ProfessionalEvent extends Equatable {
|
||||
const ProfessionalEvent();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class UpdateProfessionalEvent extends ProfessionalEvent {
|
||||
final bool isProModeActive;
|
||||
|
||||
const UpdateProfessionalEvent({
|
||||
required this.isProModeActive,
|
||||
});
|
||||
}
|
||||
|
||||
class SwitchProModeEvent extends ProfessionalEvent {
|
||||
const SwitchProModeEvent();
|
||||
}
|
||||
|
||||
class SendProfessionalToReviewEvent extends ProfessionalEvent {
|
||||
final String id;
|
||||
final String identification;
|
||||
final String identificationPicture;
|
||||
|
||||
final String profession;
|
||||
final String certificatePicture;
|
||||
|
||||
final List<String> specializations;
|
||||
final List<String> specializationsPictures;
|
||||
|
||||
const SendProfessionalToReviewEvent({
|
||||
required this.id,
|
||||
required this.identification,
|
||||
required this.identificationPicture,
|
||||
required this.profession,
|
||||
required this.certificatePicture,
|
||||
required this.specializations,
|
||||
required this.specializationsPictures,
|
||||
});
|
||||
|
||||
@override
|
||||
List<Object> get props => [
|
||||
id,
|
||||
identification,
|
||||
identificationPicture,
|
||||
profession,
|
||||
certificatePicture,
|
||||
specializations,
|
||||
specializationsPictures
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
part of 'professional_bloc.dart';
|
||||
|
||||
abstract class ProfessionalState extends Equatable {
|
||||
const ProfessionalState();
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class ProfessionalInitial extends ProfessionalState {}
|
||||
|
||||
class LoadedModeProState extends ProfessionalState {
|
||||
final bool isProModeActive;
|
||||
|
||||
const LoadedModeProState(this.isProModeActive);
|
||||
|
||||
@override
|
||||
List<Object> get props => [isProModeActive];
|
||||
}
|
||||
Reference in New Issue
Block a user