services
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,25 @@ abstract class ServiceEvent extends Equatable {
|
||||
List<Object?> get props => [];
|
||||
}
|
||||
|
||||
class LoadService extends ServiceEvent {
|
||||
final String serviceId;
|
||||
|
||||
const LoadService(this.serviceId);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [serviceId];
|
||||
}
|
||||
|
||||
class UpdateServiceStatus extends ServiceEvent {
|
||||
final String serviceId;
|
||||
final ServiceStatus newStatus;
|
||||
|
||||
const UpdateServiceStatus(this.serviceId, this.newStatus);
|
||||
|
||||
@override
|
||||
List<Object> get props => [serviceId, newStatus];
|
||||
}
|
||||
|
||||
class CreateService extends ServiceEvent {
|
||||
final String professionalId;
|
||||
final bool? professionalScored;
|
||||
|
||||
@@ -7,6 +7,15 @@ abstract class ServiceState extends Equatable {
|
||||
List<Object> get props => [];
|
||||
}
|
||||
|
||||
class ServiceLoaded extends ServiceState {
|
||||
final ServiceEntity service;
|
||||
|
||||
const ServiceLoaded(this.service);
|
||||
|
||||
@override
|
||||
List<Object> get props => [service];
|
||||
}
|
||||
|
||||
class CreateServiceInitial extends ServiceState {}
|
||||
|
||||
class CreateServiceFailure extends ServiceState {}
|
||||
@@ -14,8 +23,19 @@ class CreateServiceFailure extends ServiceState {}
|
||||
class CreateServiceLoading extends ServiceState {}
|
||||
|
||||
class CreateServiceSuccess extends ServiceState {
|
||||
const CreateServiceSuccess();
|
||||
final String serviceId;
|
||||
|
||||
const CreateServiceSuccess(this.serviceId);
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
List<Object> get props => [serviceId];
|
||||
}
|
||||
|
||||
class ServiceStatusUpdated extends ServiceState {
|
||||
final ServiceStatus newStatus;
|
||||
|
||||
const ServiceStatusUpdated(this.newStatus);
|
||||
|
||||
@override
|
||||
List<Object> get props => [newStatus];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user