Files
flux/lib/features/company/bloc/company_bloc.dart

34 lines
1.0 KiB
Dart
Raw Permalink Normal View History

2026-04-06 10:55:56 +02:00
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:flux/features/company/data/company_repository.dart';
import 'package:flux/features/company/models/company_model.dart';
2026-04-06 10:55:56 +02:00
import 'package:get_it/get_it.dart';
part 'company_events.dart';
part 'company_state.dart';
class CompanyBloc extends Bloc<CompanyEvent, CompanyState> {
final CompanyRepository _repository = GetIt.I<CompanyRepository>();
2026-04-06 10:55:56 +02:00
CompanyBloc() : super(const CompanyState(status: CompanyStatus.initial)) {
on<CreateCompanyRequested>((event, emit) async {
2026-04-06 10:55:56 +02:00
emit(const CompanyState(status: CompanyStatus.loading));
try {
final createdCompany = await _repository.createCompany(event.company);
emit(
state.copyWith(
status: CompanyStatus.success,
company: createdCompany,
),
);
2026-04-06 10:55:56 +02:00
} catch (e) {
emit(
state.copyWith(
status: CompanyStatus.failure,
errorMessage: e.toString(),
),
);
2026-04-06 10:55:56 +02:00
}
});
}
}