72 lines
2.3 KiB
Dart
72 lines
2.3 KiB
Dart
import 'package:rasadyar_chicken/data/models/response/bar_information/bar_information.dart';
|
|
import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
|
|
import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart';
|
|
import 'package:rasadyar_core/core.dart';
|
|
|
|
class HomeLogic extends GetxController {
|
|
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
|
|
RxnInt totalWeightTodayBars = RxnInt();
|
|
Rxn<KillHouseDistributionInfo> killHouseDistributionInfo = Rxn<KillHouseDistributionInfo>();
|
|
Rxn<BarInformation> barInformation = Rxn();
|
|
|
|
RxBool isExpanded = false.obs;
|
|
|
|
@override
|
|
void onReady() {
|
|
super.onReady();
|
|
refreshData();
|
|
}
|
|
|
|
Future<void> refreshData() async {
|
|
await Future.wait([getGeneralBarsInformation(), getTodayBars(), getDistributionInformation()]);
|
|
}
|
|
|
|
Future<void> getGeneralBarsInformation() async {
|
|
await safeCall<BarInformation?>(
|
|
call: () async => await rootLogic.chickenRepository.getGeneralBarInformation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
queryParameters: buildQueryParams(role: 'Steward'),
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
barInformation.value = result;
|
|
}
|
|
},
|
|
onError: (error, stackTrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> getTodayBars() async {
|
|
await safeCall<BarInformation?>(
|
|
call: () async => await rootLogic.chickenRepository.getGeneralBarInformation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
queryParameters: buildQueryParams(
|
|
fromDate: DateTime.now(),
|
|
toDate: DateTime.now(),
|
|
role: 'Steward',
|
|
),
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
totalWeightTodayBars.value = result.totalBarsWeight?.toInt();
|
|
}
|
|
},
|
|
onError: (error, stackTrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> getDistributionInformation() async {
|
|
await safeCall<KillHouseDistributionInfo?>(
|
|
call: () async => await rootLogic.chickenRepository.getKillHouseDistributionInfo(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
killHouseDistributionInfo.value = result;
|
|
}
|
|
},
|
|
onError: (error, stackTrace) {},
|
|
);
|
|
}
|
|
}
|