QueenFruits/Mobile Operasional/lib/features/goods/units/presentation/controller/unit_controller.dart

33 lines
936 B
Dart

import 'dart:async';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:niogu_app/features/goods/units/domain/entities/unit.dart';
import 'package:niogu_app/features/goods/units/domain/repositories/i_unit_repository.dart';
import 'package:niogu_app/features/goods/units/presentation/providers/unit_provider.dart';
class UnitController extends AutoDisposeAsyncNotifier<void> {
late IUnitRepository _unitRepository;
@override
FutureOr<void> build() {
_unitRepository = ref.read(unitRepositoryProvider);
}
Future<void> addUnit(Unit unit) async {
state = const AsyncValue.loading();
state = await AsyncValue.guard(() async {
await _unitRepository.addUnit(unit);
});
}
Future<void> updateUnit(String id, String name) async {
state = const AsyncValue.loading();
state = await AsyncValue.guard(() async {
await _unitRepository.updateUnit(id, name);
});
}
}