142 lines
4.2 KiB
Dart
142 lines
4.2 KiB
Dart
import 'package:flutter/services.dart';
|
|
=
|
|
import 'package:rasadyar_chicken/features/steward/data/model/request/conform_allocation/conform_allocation.dart';
|
|
import 'package:rasadyar_chicken/features/steward/data/model/response/allocated_made/allocated_made.dart';
|
|
import 'package:rasadyar_chicken/features/common/data/model/response/guild/guild_model.dart';
|
|
import 'package:rasadyar_chicken/features/common/data/model/response/roles_products/roles_products.dart';
|
|
import 'package:rasadyar_chicken/features/steward/data/model/response/steward_free_bar_dashboard/steward_free_bar_dashboard.dart';
|
|
import 'package:rasadyar_chicken/features/steward/presentation/pages/root/logic.dart';
|
|
import 'package:rasadyar_core/core.dart';
|
|
|
|
class SaleLogic extends GetxController {
|
|
Rxn<List<AllocatedMadeModel>?> allocatedMadeModel =
|
|
Rxn<List<AllocatedMadeModel>?>();
|
|
|
|
RxList<GuildModel> guildsModel = <GuildModel>[].obs;
|
|
|
|
Rxn<StewardFreeBarDashboard> stewardFreeDashboard =
|
|
Rxn<StewardFreeBarDashboard>();
|
|
|
|
StewardRootLogic rootLogic = Get.find<StewardRootLogic>();
|
|
|
|
List<String> routesName = ['فروش'];
|
|
DateTime? _lastBackPressed;
|
|
|
|
@override
|
|
void onReady() {
|
|
super.onReady();
|
|
getStewardDashBord();
|
|
}
|
|
|
|
Future<void> getAllocatedMade() async {
|
|
safeCall(
|
|
call: () async => await rootLogic.stewardRepository.getAllocatedMade(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
queryParameters: buildQueryParams(
|
|
page: 1,
|
|
pageSize: 20,
|
|
search: 'filter',
|
|
role: 'Steward',
|
|
),
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
allocatedMadeModel.value = result.results;
|
|
}
|
|
},
|
|
onError: (error, stacktrace) {},
|
|
);
|
|
}
|
|
|
|
void checkVerfication() {}
|
|
|
|
void confirmAllocation(ConformAllocation allocation) {
|
|
safeCall(
|
|
call: () async => await rootLogic.stewardRepository.confirmAllocation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
allocation: allocation.toJson(),
|
|
),
|
|
onSuccess: (result) {
|
|
getAllocatedMade();
|
|
},
|
|
onError: (error, stacktrace) {},
|
|
);
|
|
}
|
|
|
|
void denyAllocation(String token) {
|
|
safeCall(
|
|
call: () async => await rootLogic.stewardRepository.denyAllocation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
allocationToken: token,
|
|
),
|
|
onSuccess: (result) {
|
|
getAllocatedMade();
|
|
},
|
|
onError: (error, stacktrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> confirmAllAllocations() async {
|
|
safeCall(
|
|
call: () async => await rootLogic.stewardRepository.confirmAllAllocation(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
allocationTokens:
|
|
allocatedMadeModel.value?.map((e) => e.key!).toList() ?? [],
|
|
),
|
|
onSuccess: (result) {
|
|
getAllocatedMade();
|
|
},
|
|
onError: (error, stacktrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> getGuilds() async {}
|
|
|
|
Future<void> addSale() async {}
|
|
|
|
void setSelectedGuild(GuildModel value) {}
|
|
|
|
void setSelectedProduct(ProductModel value) {}
|
|
|
|
Future<void> getStewardDashBord() async {
|
|
safeCall(
|
|
call: () async => await rootLogic.stewardRepository.getStewardDashboard(
|
|
token: rootLogic.tokenService.accessToken.value!,
|
|
stratDate: DateTime.now().formattedDashedGregorian,
|
|
endDate: DateTime.now().formattedDashedGregorian,
|
|
),
|
|
onSuccess: (result) {
|
|
if (result != null) {
|
|
stewardFreeDashboard.value = result;
|
|
}
|
|
},
|
|
onError: (error, stacktrace) {},
|
|
);
|
|
}
|
|
|
|
Future<void> submitAllocation() async {}
|
|
|
|
@override
|
|
void dispose() {
|
|
rootLogic.inventoryExpandedList.clear();
|
|
super.dispose();
|
|
}
|
|
|
|
void onPopScopTaped() async {
|
|
final now = DateTime.now();
|
|
if (_lastBackPressed == null ||
|
|
now.difference(_lastBackPressed!) > Duration(seconds: 2)) {
|
|
_lastBackPressed = now;
|
|
Get.snackbar(
|
|
'خروج از برنامه',
|
|
'برای خروج دوباره بازگشت را بزنید',
|
|
snackPosition: SnackPosition.TOP,
|
|
duration: Duration(seconds: 2),
|
|
backgroundColor: AppColor.warning,
|
|
);
|
|
} else {
|
|
await SystemNavigator.pop();
|
|
}
|
|
}
|
|
}
|