Files
prosappco/lib/blocs/service_bloc/service_bloc.dart
T
2024-04-03 10:58:46 -05:00

53 lines
1.5 KiB
Dart

import 'dart:developer';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:service_repository/service_repository.dart';
part 'service_event.dart';
part 'service_state.dart';
class ServiceBloc extends Bloc<ServiceEvent, ServiceState> {
final FirebaseServiceRepository _serviceRepository;
ServiceBloc({required FirebaseServiceRepository serviceRepository})
: _serviceRepository = serviceRepository,
super(CreateServiceInitial()) {
on<CreateService>(_onCreateService);
}
void _onCreateService(CreateService event, Emitter<ServiceState> emit) async {
try {
ServiceEntity service = ServiceEntity(
professionalId: event.professionalId,
professionalScored: false,
userId: event.userId,
userScored: false,
address: event.address,
aditionalAddress: event.aditionalAddress,
latitude: event.latitude,
longitude: event.longitude,
day: event.day,
createdAt: event.createdAt,
description: event.description,
range1Hour1: event.range1Hour1,
range1Hour2: event.range1Hour2,
rate: event.rate,
status: ServiceStatus.pending,
location: event.location,
);
log('xd -- $service');
await _serviceRepository.createService(service);
emit(const CreateServiceSuccess());
} catch (e) {
emit(CreateServiceFailure());
}
}
}