feat: get table
This commit is contained in:
@@ -829,7 +829,8 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
|
||||
DropdownMenuItem<
|
||||
TableModel>(
|
||||
value: value,
|
||||
child: Text(value.tableName),
|
||||
child: Text(
|
||||
value.tableName ?? ""),
|
||||
),
|
||||
)
|
||||
.toList(),
|
||||
@@ -1192,28 +1193,28 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
|
||||
savedDraftOrder: (orderDraftId) {
|
||||
log("PRICEVALUE: ${priceValue}");
|
||||
|
||||
final newTabel = TableModel(
|
||||
id: widget.isTable
|
||||
? widget.table!.id
|
||||
: selectTable?.id,
|
||||
tableName: widget.isTable
|
||||
? widget.table!.tableName
|
||||
: selectTable?.tableName ??
|
||||
'0',
|
||||
status: 'occupied',
|
||||
paymentAmount: priceValue,
|
||||
orderId: orderDraftId,
|
||||
startTime: DateTime.now()
|
||||
.toIso8601String(),
|
||||
position: widget.isTable
|
||||
? widget.table!.position
|
||||
: selectTable!.position);
|
||||
log('new tabel: ${newTabel.toMap()}');
|
||||
context
|
||||
.read<StatusTableBloc>()
|
||||
.add(StatusTableEvent.statusTabel(
|
||||
newTabel,
|
||||
));
|
||||
// final newTabel = TableModel(
|
||||
// id: widget.isTable
|
||||
// ? widget.table!.id
|
||||
// : selectTable?.id,
|
||||
// tableName: widget.isTable
|
||||
// ? widget.table!.tableName
|
||||
// : selectTable?.tableName ??
|
||||
// '0',
|
||||
// status: 'occupied',
|
||||
// paymentAmount: priceValue,
|
||||
// orderId: orderDraftId,
|
||||
// startTime: DateTime.now()
|
||||
// .toIso8601String(),
|
||||
// position: widget.isTable
|
||||
// ? widget.table!.position
|
||||
// : selectTable!.position);
|
||||
// log('new tabel: ${newTabel.toMap()}');
|
||||
// context
|
||||
// .read<StatusTableBloc>()
|
||||
// .add(StatusTableEvent.statusTabel(
|
||||
// newTabel,
|
||||
// ));
|
||||
});
|
||||
},
|
||||
child:
|
||||
@@ -1357,16 +1358,16 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
|
||||
|
||||
if (widget.isTable) {
|
||||
log("discountAmountValue: $totalDiscount");
|
||||
context.read<CheckoutBloc>().add(
|
||||
CheckoutEvent
|
||||
.saveDraftOrder(
|
||||
widget.isTable == true
|
||||
? widget.table!.id!
|
||||
: selectTable!.id!,
|
||||
customerController.text,
|
||||
totalDiscount.toInt(),
|
||||
),
|
||||
);
|
||||
// context.read<CheckoutBloc>().add(
|
||||
// CheckoutEvent
|
||||
// .saveDraftOrder(
|
||||
// widget.isTable == true
|
||||
// ? widget.table!.id!
|
||||
// : selectTable!.id!,
|
||||
// customerController.text,
|
||||
// totalDiscount.toInt(),
|
||||
// ),
|
||||
// );
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
@@ -1515,120 +1516,120 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
|
||||
// Tambahkan ke pesanan meja yang sudah ada
|
||||
if (selectTable != null) {
|
||||
// Ambil draft order yang sudah ada
|
||||
final existingDraftOrder =
|
||||
await ProductLocalDatasource
|
||||
.instance
|
||||
.getDraftOrderById(
|
||||
selectTable
|
||||
?.orderId ??
|
||||
0);
|
||||
// final existingDraftOrder =
|
||||
// await ProductLocalDatasource
|
||||
// .instance
|
||||
// .getDraftOrderById(
|
||||
// selectTable
|
||||
// ?.orderId ??
|
||||
// 0);
|
||||
|
||||
if (existingDraftOrder !=
|
||||
null) {
|
||||
// Convert items ke DraftOrderItem
|
||||
final newDraftItems = items
|
||||
.map((item) =>
|
||||
DraftOrderItem(
|
||||
product:
|
||||
item.product,
|
||||
quantity:
|
||||
item.quantity,
|
||||
))
|
||||
.toList();
|
||||
// if (existingDraftOrder !=
|
||||
// null) {
|
||||
// // Convert items ke DraftOrderItem
|
||||
// final newDraftItems = items
|
||||
// .map((item) =>
|
||||
// DraftOrderItem(
|
||||
// product:
|
||||
// item.product,
|
||||
// quantity:
|
||||
// item.quantity,
|
||||
// ))
|
||||
// .toList();
|
||||
|
||||
// Gabungkan dengan pesanan yang sudah ada
|
||||
final updatedItems = [
|
||||
...existingDraftOrder
|
||||
.orders,
|
||||
...newDraftItems
|
||||
];
|
||||
// // Gabungkan dengan pesanan yang sudah ada
|
||||
// final updatedItems = [
|
||||
// ...existingDraftOrder
|
||||
// .orders,
|
||||
// ...newDraftItems
|
||||
// ];
|
||||
|
||||
final updatedDraftOrder =
|
||||
existingDraftOrder
|
||||
.copyWith(
|
||||
orders: updatedItems,
|
||||
totalQuantity:
|
||||
updatedItems.fold<int>(
|
||||
0,
|
||||
(sum, item) =>
|
||||
sum +
|
||||
item.quantity),
|
||||
subTotal: updatedItems.fold<
|
||||
int>(
|
||||
0,
|
||||
(sum, item) =>
|
||||
sum +
|
||||
(item.product
|
||||
.price ??
|
||||
0) *
|
||||
item.quantity),
|
||||
);
|
||||
// final updatedDraftOrder =
|
||||
// existingDraftOrder
|
||||
// .copyWith(
|
||||
// orders: updatedItems,
|
||||
// totalQuantity:
|
||||
// updatedItems.fold<int>(
|
||||
// 0,
|
||||
// (sum, item) =>
|
||||
// sum +
|
||||
// item.quantity),
|
||||
// subTotal: updatedItems.fold<
|
||||
// int>(
|
||||
// 0,
|
||||
// (sum, item) =>
|
||||
// sum +
|
||||
// (item.product
|
||||
// .price ??
|
||||
// 0) *
|
||||
// item.quantity),
|
||||
// );
|
||||
|
||||
// Update draft order
|
||||
await ProductLocalDatasource
|
||||
.instance
|
||||
.updateDraftOrder(
|
||||
updatedDraftOrder);
|
||||
// // Update draft order
|
||||
// await ProductLocalDatasource
|
||||
// .instance
|
||||
// .updateDraftOrder(
|
||||
// updatedDraftOrder);
|
||||
|
||||
// Tampilkan dialog sukses
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (context) =>
|
||||
SaveOrderDialog(
|
||||
data: items,
|
||||
totalQty: totalQty,
|
||||
totalPrice:
|
||||
totalPriceFinal,
|
||||
totalTax:
|
||||
finalTax.toInt(),
|
||||
totalDiscount:
|
||||
totalDiscount.toInt(),
|
||||
subTotal:
|
||||
subTotal.toInt(),
|
||||
normalPrice: price,
|
||||
table: selectTable!,
|
||||
draftName:
|
||||
customerController
|
||||
.text,
|
||||
),
|
||||
);
|
||||
} else {
|
||||
// Jika tidak ada draft order, buat baru
|
||||
context
|
||||
.read<CheckoutBloc>()
|
||||
.add(
|
||||
CheckoutEvent
|
||||
.saveDraftOrder(
|
||||
selectTable!.id!,
|
||||
customerController
|
||||
.text,
|
||||
totalDiscount.toInt(),
|
||||
),
|
||||
);
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (context) =>
|
||||
SaveOrderDialog(
|
||||
data: items,
|
||||
totalQty: totalQty,
|
||||
totalPrice:
|
||||
totalPriceFinal,
|
||||
totalTax:
|
||||
finalTax.toInt(),
|
||||
totalDiscount:
|
||||
totalDiscount.toInt(),
|
||||
subTotal:
|
||||
subTotal.toInt(),
|
||||
normalPrice: price,
|
||||
table: selectTable!,
|
||||
draftName:
|
||||
customerController
|
||||
.text,
|
||||
),
|
||||
);
|
||||
}
|
||||
// // Tampilkan dialog sukses
|
||||
// await showDialog(
|
||||
// context: context,
|
||||
// barrierDismissible: false,
|
||||
// builder: (context) =>
|
||||
// SaveOrderDialog(
|
||||
// data: items,
|
||||
// totalQty: totalQty,
|
||||
// totalPrice:
|
||||
// totalPriceFinal,
|
||||
// totalTax:
|
||||
// finalTax.toInt(),
|
||||
// totalDiscount:
|
||||
// totalDiscount.toInt(),
|
||||
// subTotal:
|
||||
// subTotal.toInt(),
|
||||
// normalPrice: price,
|
||||
// table: selectTable!,
|
||||
// draftName:
|
||||
// customerController
|
||||
// .text,
|
||||
// ),
|
||||
// );
|
||||
// } else {
|
||||
// // Jika tidak ada draft order, buat baru
|
||||
// context
|
||||
// .read<CheckoutBloc>()
|
||||
// .add(
|
||||
// CheckoutEvent
|
||||
// .saveDraftOrder(
|
||||
// selectTable!.id!,
|
||||
// customerController
|
||||
// .text,
|
||||
// totalDiscount.toInt(),
|
||||
// ),
|
||||
// );
|
||||
// await showDialog(
|
||||
// context: context,
|
||||
// barrierDismissible: false,
|
||||
// builder: (context) =>
|
||||
// SaveOrderDialog(
|
||||
// data: items,
|
||||
// totalQty: totalQty,
|
||||
// totalPrice:
|
||||
// totalPriceFinal,
|
||||
// totalTax:
|
||||
// finalTax.toInt(),
|
||||
// totalDiscount:
|
||||
// totalDiscount.toInt(),
|
||||
// subTotal:
|
||||
// subTotal.toInt(),
|
||||
// normalPrice: price,
|
||||
// table: selectTable!,
|
||||
// draftName:
|
||||
// customerController
|
||||
// .text,
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
} else {
|
||||
ScaffoldMessenger.of(context)
|
||||
.showSnackBar(
|
||||
@@ -1640,16 +1641,16 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
|
||||
);
|
||||
}
|
||||
} else {
|
||||
context.read<CheckoutBloc>().add(
|
||||
CheckoutEvent
|
||||
.saveDraftOrder(
|
||||
widget.isTable == true
|
||||
? widget.table!.id!
|
||||
: selectTable!.id!,
|
||||
customerController.text,
|
||||
totalDiscount.toInt(),
|
||||
),
|
||||
);
|
||||
// context.read<CheckoutBloc>().add(
|
||||
// CheckoutEvent
|
||||
// .saveDraftOrder(
|
||||
// widget.isTable == true
|
||||
// ? widget.table!.id!
|
||||
// : selectTable!.id!,
|
||||
// customerController.text,
|
||||
// totalDiscount.toInt(),
|
||||
// ),
|
||||
// );
|
||||
await showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
|
||||
Reference in New Issue
Block a user