This commit is contained in:
Felipe
2024-04-05 11:56:45 -05:00
parent f46450e5db
commit e82c7c3afd
18 changed files with 1297 additions and 546 deletions
+33 -4
View File
@@ -17,10 +17,14 @@ class ServiceBloc extends Bloc<ServiceEvent, ServiceState> {
: _serviceRepository = serviceRepository,
super(CreateServiceInitial()) {
on<CreateService>(_onCreateService);
on<LoadService>(_onLoadService);
on<UpdateServiceStatus>(_onUpdateServiceStatus);
}
void _onCreateService(CreateService event, Emitter<ServiceState> emit) async {
try {
emit(CreateServiceLoading());
ServiceEntity service = ServiceEntity(
professionalId: event.professionalId,
professionalScored: false,
@@ -40,12 +44,37 @@ class ServiceBloc extends Bloc<ServiceEvent, ServiceState> {
location: event.location,
);
log('xd -- $service');
String serviceId = await _serviceRepository.createService(service);
await _serviceRepository.createService(service);
emit(const CreateServiceSuccess());
emit(CreateServiceSuccess(serviceId));
} catch (e) {
log(e.toString());
emit(CreateServiceFailure());
}
}
void _onLoadService(LoadService event, Emitter<ServiceState> emit) async {
try {
final serviceStream = _serviceRepository.getService(event.serviceId);
await for (var service in serviceStream) {
emit(ServiceLoaded(service));
}
} catch (e) {
log(e.toString());
emit(CreateServiceFailure());
}
}
void _onUpdateServiceStatus(
UpdateServiceStatus event, Emitter<ServiceState> emit) async {
try {
emit(CreateServiceLoading());
await _serviceRepository.updateServiceStatus(
event.serviceId, event.newStatus);
emit(ServiceStatusUpdated(event.newStatus));
} catch (e) {
log(e.toString());
emit(CreateServiceFailure());
}
}