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 { final FirebaseServiceRepository _serviceRepository; ServiceBloc({required FirebaseServiceRepository serviceRepository}) : _serviceRepository = serviceRepository, super(CreateServiceInitial()) { on(_onCreateService); } void _onCreateService(CreateService event, Emitter 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()); } } }