start provider screens
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flux/core/blocs/session/session_bloc.dart';
|
||||
import 'package:flux/features/master_data/providers/data/provider_repository.dart';
|
||||
import 'package:flux/features/master_data/store/models/store_model.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import '../models/provider_model.dart';
|
||||
|
||||
@@ -43,18 +45,21 @@ class ProvidersState extends Equatable {
|
||||
|
||||
class ProvidersCubit extends Cubit<ProvidersState> {
|
||||
final ProviderRepository _repository = GetIt.I<ProviderRepository>();
|
||||
final SessionBloc _sessionBloc;
|
||||
|
||||
ProvidersCubit() : super(const ProvidersState());
|
||||
ProvidersCubit(this._sessionBloc) : super(const ProvidersState());
|
||||
|
||||
// Carica i provider della company e quelli associati a uno store specifico
|
||||
Future<void> loadProviders(String companyId, String? storeId) async {
|
||||
Future<void> loadProviders(StoreModel? store) async {
|
||||
emit(state.copyWith(isLoading: true));
|
||||
try {
|
||||
final all = await _repository.fetchAllCompanyProviders(companyId);
|
||||
final all = await _repository.fetchAllCompanyProviders(
|
||||
_sessionBloc.state.company!.id,
|
||||
);
|
||||
List<String> associated = [];
|
||||
|
||||
if (storeId != null) {
|
||||
associated = await _repository.fetchAssociatedProviderIds(storeId);
|
||||
if (store != null) {
|
||||
associated = await _repository.fetchAssociatedProviderIds(store.id!);
|
||||
}
|
||||
|
||||
emit(
|
||||
@@ -105,7 +110,7 @@ class ProvidersCubit extends Cubit<ProvidersState> {
|
||||
try {
|
||||
await _repository.saveProvider(provider);
|
||||
// Ricarichiamo la lista per vedere le modifiche
|
||||
await loadProviders(provider.companyId, null);
|
||||
await loadProviders(null);
|
||||
} catch (e) {
|
||||
emit(state.copyWith(isLoading: false, errorMessage: e.toString()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user