TIF_NGANJUK_E41212036/lib/presentation/controllers/statistic_controller.dart

44 lines
1.0 KiB
Dart

import 'package:e_porter/domain/usecases/statistic_usecase.dart';
import 'package:get/get.dart';
class StatisticController extends GetxController {
final StatisticUseCase useCase;
final String porterId;
final date = DateTime.now().obs;
final incoming = 0.obs;
final inProgress = 0.obs;
final completed = 0.obs;
final revenue = 0.0.obs;
StatisticController({
required this.useCase,
required this.porterId,
});
@override
void onInit() {
super.onInit();
_bindAllStreams();
ever(date, (_) => _bindAllStreams());
}
void _bindAllStreams() {
incoming.bindStream(
useCase.getIncomingOrders(porterId: porterId, date: date.value),
);
inProgress.bindStream(
useCase.getInProgressOrders(porterId: porterId, date: date.value),
);
completed.bindStream(
useCase.getCompletedOrders(porterId: porterId, date: date.value),
);
revenue.bindStream(
useCase.getRevenue(porterId: porterId, date: date.value),
);
}
void changeDate(DateTime newDate) => date.value = newDate;
}