Files
rasadyar_application/packages/chicken/lib/presentation/pages/home/logic.dart

71 lines
2.2 KiB
Dart
Raw Normal View History

2025-06-15 17:16:04 +03:30
import 'package:rasadyar_chicken/chicken.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';
2025-06-15 09:48:52 +03:30
import 'package:rasadyar_core/core.dart';
class HomeLogic extends GetxController {
2025-06-22 16:51:22 +03:30
RootLogic rootLogic = Get.find<RootLogic>();
2025-06-15 17:16:04 +03:30
RxnInt totalWeightTodayBars = RxnInt();
Rxn<KillHouseDistributionInfo> killHouseDistributionInfo = Rxn<KillHouseDistributionInfo>();
2025-07-17 15:44:40 +03:30
Rxn<BarInformation> barInformation = Rxn();
2025-06-15 17:16:04 +03:30
2025-06-30 09:28:45 +03:30
RxBool isExpanded = false.obs;
2025-06-15 09:48:52 +03:30
@override
void onReady() {
super.onReady();
2025-07-17 15:44:40 +03:30
getGeneralBarsInformation();
2025-06-15 17:16:04 +03:30
getTodayBars();
getDistributionInformation();
}
2025-07-17 15:44:40 +03:30
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) {},
);
}
2025-06-15 17:16:04 +03:30
Future<void> getTodayBars() async {
await safeCall<BarInformation?>(
2025-06-22 16:51:22 +03:30
call: () async => await rootLogic.chickenRepository.getGeneralBarInformation(
token: rootLogic.tokenService.accessToken.value!,
2025-07-17 15:44:40 +03:30
queryParameters: buildQueryParams(
fromDate: DateTime.now(),
toDate: DateTime.now(),
role: 'Steward',
),
2025-06-15 17:16:04 +03:30
),
onSuccess: (result) {
if (result != null) {
totalWeightTodayBars.value = result.totalBarsWeight?.toInt();
}
},
2025-07-17 15:44:40 +03:30
onError: (error, stackTrace) {},
2025-06-15 17:16:04 +03:30
);
}
Future<void> getDistributionInformation() async {
await safeCall<KillHouseDistributionInfo?>(
call: () async => await rootLogic.chickenRepository.getKillHouseDistributionInfo(
token: rootLogic.tokenService.accessToken.value!,
),
2025-06-15 17:16:04 +03:30
onSuccess: (result) {
if (result != null) {
killHouseDistributionInfo.value = result;
}
},
onError: (error, stackTrace) {},
);
}
2025-06-15 09:48:52 +03:30
}