diff --git a/lib/data/datasources/table_remote_datasource.dart b/lib/data/datasources/table_remote_datasource.dart index 7ad6f5c..412f706 100644 --- a/lib/data/datasources/table_remote_datasource.dart +++ b/lib/data/datasources/table_remote_datasource.dart @@ -56,18 +56,24 @@ class TableRemoteDataSource { Future> getTable({ int page = 1, int limit = 10, + String? status, }) async { try { final authData = await AuthLocalDataSource().getAuthData(); final url = '${Variables.baseUrl}/api/v1/tables'; + Map queryParameters = { + 'page': page, + 'limit': limit, + }; + + if (status != null) { + queryParameters['status'] = status; + } + final response = await dio.get( url, - queryParameters: { - 'page': page, - 'limit': limit, - 'outlet_id': authData.user?.outletId, - }, + queryParameters: queryParameters, options: Options( headers: { 'Authorization': 'Bearer ${authData.token}', diff --git a/lib/main.dart b/lib/main.dart index ea2b8a7..4e69051 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -167,7 +167,7 @@ class _MyAppState extends State { LastOrderTableBloc(ProductLocalDatasource.instance), ), BlocProvider( - create: (context) => GetTableStatusBloc(), + create: (context) => GetTableStatusBloc(TableRemoteDataSource()), ), BlocProvider( create: (context) => AddProductBloc(ProductRemoteDatasource()), diff --git a/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.dart b/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.dart index 884c4fa..03f0f32 100644 --- a/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.dart +++ b/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.dart @@ -1,5 +1,5 @@ +import 'package:enaklo_pos/data/datasources/table_remote_datasource.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:enaklo_pos/data/datasources/product_local_datasource.dart'; import 'package:enaklo_pos/data/models/response/table_model.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; @@ -9,12 +9,17 @@ part 'get_table_status_bloc.freezed.dart'; class GetTableStatusBloc extends Bloc { - GetTableStatusBloc() : super(_Initial()) { + final TableRemoteDataSource _tableRemoteDataSource; + GetTableStatusBloc(this._tableRemoteDataSource) : super(_Initial()) { on<_GetTablesStatus>((event, emit) async { emit(_Loading()); final tables = - await ProductLocalDatasource.instance.getTableByStatus(event.status); - emit(_Success(tables)); + await _tableRemoteDataSource.getTable(status: event.status); + + tables.fold( + (failure) => emit(_Error(failure)), + (tableResponse) => emit(_Success(tableResponse.data!.tables!)), + ); }); } } diff --git a/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.freezed.dart b/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.freezed.dart index db73954..1cec23b 100644 --- a/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.freezed.dart +++ b/lib/presentation/home/bloc/get_table_status/get_table_status_bloc.freezed.dart @@ -330,6 +330,7 @@ mixin _$GetTableStatusState { required TResult Function() initial, required TResult Function() loading, required TResult Function(List tables) success, + required TResult Function(String message) error, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -337,6 +338,7 @@ mixin _$GetTableStatusState { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(List tables)? success, + TResult? Function(String message)? error, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -344,6 +346,7 @@ mixin _$GetTableStatusState { TResult Function()? initial, TResult Function()? loading, TResult Function(List tables)? success, + TResult Function(String message)? error, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -352,6 +355,7 @@ mixin _$GetTableStatusState { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Success value) success, + required TResult Function(_Error value) error, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -359,6 +363,7 @@ mixin _$GetTableStatusState { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Success value)? success, + TResult? Function(_Error value)? error, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -366,6 +371,7 @@ mixin _$GetTableStatusState { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Success value)? success, + TResult Function(_Error value)? error, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -436,6 +442,7 @@ class _$InitialImpl implements _Initial { required TResult Function() initial, required TResult Function() loading, required TResult Function(List tables) success, + required TResult Function(String message) error, }) { return initial(); } @@ -446,6 +453,7 @@ class _$InitialImpl implements _Initial { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(List tables)? success, + TResult? Function(String message)? error, }) { return initial?.call(); } @@ -456,6 +464,7 @@ class _$InitialImpl implements _Initial { TResult Function()? initial, TResult Function()? loading, TResult Function(List tables)? success, + TResult Function(String message)? error, required TResult orElse(), }) { if (initial != null) { @@ -470,6 +479,7 @@ class _$InitialImpl implements _Initial { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Success value) success, + required TResult Function(_Error value) error, }) { return initial(this); } @@ -480,6 +490,7 @@ class _$InitialImpl implements _Initial { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Success value)? success, + TResult? Function(_Error value)? error, }) { return initial?.call(this); } @@ -490,6 +501,7 @@ class _$InitialImpl implements _Initial { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Success value)? success, + TResult Function(_Error value)? error, required TResult orElse(), }) { if (initial != null) { @@ -547,6 +559,7 @@ class _$LoadingImpl implements _Loading { required TResult Function() initial, required TResult Function() loading, required TResult Function(List tables) success, + required TResult Function(String message) error, }) { return loading(); } @@ -557,6 +570,7 @@ class _$LoadingImpl implements _Loading { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(List tables)? success, + TResult? Function(String message)? error, }) { return loading?.call(); } @@ -567,6 +581,7 @@ class _$LoadingImpl implements _Loading { TResult Function()? initial, TResult Function()? loading, TResult Function(List tables)? success, + TResult Function(String message)? error, required TResult orElse(), }) { if (loading != null) { @@ -581,6 +596,7 @@ class _$LoadingImpl implements _Loading { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Success value) success, + required TResult Function(_Error value) error, }) { return loading(this); } @@ -591,6 +607,7 @@ class _$LoadingImpl implements _Loading { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Success value)? success, + TResult? Function(_Error value)? error, }) { return loading?.call(this); } @@ -601,6 +618,7 @@ class _$LoadingImpl implements _Loading { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Success value)? success, + TResult Function(_Error value)? error, required TResult orElse(), }) { if (loading != null) { @@ -691,6 +709,7 @@ class _$SuccessImpl implements _Success { required TResult Function() initial, required TResult Function() loading, required TResult Function(List tables) success, + required TResult Function(String message) error, }) { return success(tables); } @@ -701,6 +720,7 @@ class _$SuccessImpl implements _Success { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(List tables)? success, + TResult? Function(String message)? error, }) { return success?.call(tables); } @@ -711,6 +731,7 @@ class _$SuccessImpl implements _Success { TResult Function()? initial, TResult Function()? loading, TResult Function(List tables)? success, + TResult Function(String message)? error, required TResult orElse(), }) { if (success != null) { @@ -725,6 +746,7 @@ class _$SuccessImpl implements _Success { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Success value) success, + required TResult Function(_Error value) error, }) { return success(this); } @@ -735,6 +757,7 @@ class _$SuccessImpl implements _Success { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Success value)? success, + TResult? Function(_Error value)? error, }) { return success?.call(this); } @@ -745,6 +768,7 @@ class _$SuccessImpl implements _Success { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Success value)? success, + TResult Function(_Error value)? error, required TResult orElse(), }) { if (success != null) { @@ -765,3 +789,155 @@ abstract class _Success implements GetTableStatusState { _$$SuccessImplCopyWith<_$SuccessImpl> get copyWith => throw _privateConstructorUsedError; } + +/// @nodoc +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; + @useResult + $Res call({String message}); +} + +/// @nodoc +class __$$ErrorImplCopyWithImpl<$Res> + extends _$GetTableStatusStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) + : super(_value, _then); + + /// Create a copy of GetTableStatusState + /// with the given fields replaced by the non-null parameter values. + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? message = null, + }) { + return _then(_$ErrorImpl( + null == message + ? _value.message + : message // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$ErrorImpl implements _Error { + const _$ErrorImpl(this.message); + + @override + final String message; + + @override + String toString() { + return 'GetTableStatusState.error(message: $message)'; + } + + @override + bool operator ==(Object other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$ErrorImpl && + (identical(other.message, message) || other.message == message)); + } + + @override + int get hashCode => Object.hash(runtimeType, message); + + /// Create a copy of GetTableStatusState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + @override + @pragma('vm:prefer-inline') + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(List tables) success, + required TResult Function(String message) error, + }) { + return error(message); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(List tables)? success, + TResult? Function(String message)? error, + }) { + return error?.call(message); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(List tables)? success, + TResult Function(String message)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(message); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Success value) success, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Success value)? success, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Success value)? success, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error implements GetTableStatusState { + const factory _Error(final String message) = _$ErrorImpl; + + String get message; + + /// Create a copy of GetTableStatusState + /// with the given fields replaced by the non-null parameter values. + @JsonKey(includeFromJson: false, includeToJson: false) + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/lib/presentation/home/bloc/get_table_status/get_table_status_state.dart b/lib/presentation/home/bloc/get_table_status/get_table_status_state.dart index 397566a..d42c5e5 100644 --- a/lib/presentation/home/bloc/get_table_status/get_table_status_state.dart +++ b/lib/presentation/home/bloc/get_table_status/get_table_status_state.dart @@ -5,4 +5,5 @@ class GetTableStatusState with _$GetTableStatusState { const factory GetTableStatusState.initial() = _Initial; const factory GetTableStatusState.loading() = _Loading; const factory GetTableStatusState.success(List tables) = _Success; + const factory GetTableStatusState.error(String message) = _Error; } diff --git a/lib/presentation/home/bloc/order_form/order_form_bloc.dart b/lib/presentation/home/bloc/order_form/order_form_bloc.dart index 4326d7b..d2e7284 100644 --- a/lib/presentation/home/bloc/order_form/order_form_bloc.dart +++ b/lib/presentation/home/bloc/order_form/order_form_bloc.dart @@ -5,6 +5,7 @@ import 'package:enaklo_pos/data/datasources/auth_local_datasource.dart'; import 'package:enaklo_pos/data/datasources/order_remote_datasource.dart'; import 'package:enaklo_pos/data/models/response/order_response_model.dart'; import 'package:enaklo_pos/data/models/response/payment_methods_response_model.dart'; +import 'package:enaklo_pos/data/models/response/table_model.dart'; import 'package:enaklo_pos/presentation/home/models/order_request.dart'; import 'package:enaklo_pos/presentation/home/models/order_type.dart'; import 'package:enaklo_pos/presentation/home/models/product_quantity.dart'; @@ -33,7 +34,8 @@ class OrderFormBloc extends Bloc { customerName: event.customerName, notes: '', orderType: event.orderType.name, - tableNumber: event.tableNumber.toString(), + tableId: event.table.id, + tableNumber: event.table.tableName, outletId: userData.user?.outletId, userId: userData.user?.id, orderItems: event.items @@ -73,7 +75,8 @@ class OrderFormBloc extends Bloc { customerName: event.customerName, notes: '', orderType: event.orderType.name, - tableNumber: event.tableNumber.toString(), + tableId: event.table.id, + tableNumber: event.table.tableName, outletId: userData.user?.outletId, userId: userData.user?.id, orderItems: event.items diff --git a/lib/presentation/home/bloc/order_form/order_form_bloc.freezed.dart b/lib/presentation/home/bloc/order_form/order_form_bloc.freezed.dart index aea6985..12e161a 100644 --- a/lib/presentation/home/bloc/order_form/order_form_bloc.freezed.dart +++ b/lib/presentation/home/bloc/order_form/order_form_bloc.freezed.dart @@ -20,14 +20,10 @@ mixin _$OrderFormEvent { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, @@ -38,14 +34,10 @@ mixin _$OrderFormEvent { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, @@ -56,14 +48,10 @@ mixin _$OrderFormEvent { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, @@ -195,14 +183,10 @@ class _$StartedImpl implements _Started { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, @@ -216,14 +200,10 @@ class _$StartedImpl implements _Started { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, @@ -237,14 +217,10 @@ class _$StartedImpl implements _Started { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, @@ -323,7 +299,7 @@ abstract class _$$CreateImplCopyWith<$Res> { {List items, String customerName, OrderType orderType, - String tableNumber}); + TableModel table}); } /// @nodoc @@ -342,7 +318,7 @@ class __$$CreateImplCopyWithImpl<$Res> Object? items = null, Object? customerName = null, Object? orderType = null, - Object? tableNumber = null, + Object? table = freezed, }) { return _then(_$CreateImpl( items: null == items @@ -357,10 +333,10 @@ class __$$CreateImplCopyWithImpl<$Res> ? _value.orderType : orderType // ignore: cast_nullable_to_non_nullable as OrderType, - tableNumber: null == tableNumber - ? _value.tableNumber - : tableNumber // ignore: cast_nullable_to_non_nullable - as String, + table: freezed == table + ? _value.table + : table // ignore: cast_nullable_to_non_nullable + as TableModel, )); } } @@ -372,7 +348,7 @@ class _$CreateImpl implements _Create { {required final List items, required this.customerName, required this.orderType, - required this.tableNumber}) + required this.table}) : _items = items; final List _items; @@ -388,11 +364,11 @@ class _$CreateImpl implements _Create { @override final OrderType orderType; @override - final String tableNumber; + final TableModel table; @override String toString() { - return 'OrderFormEvent.create(items: $items, customerName: $customerName, orderType: $orderType, tableNumber: $tableNumber)'; + return 'OrderFormEvent.create(items: $items, customerName: $customerName, orderType: $orderType, table: $table)'; } @override @@ -405,8 +381,7 @@ class _$CreateImpl implements _Create { other.customerName == customerName) && (identical(other.orderType, orderType) || other.orderType == orderType) && - (identical(other.tableNumber, tableNumber) || - other.tableNumber == tableNumber)); + const DeepCollectionEquality().equals(other.table, table)); } @override @@ -415,7 +390,7 @@ class _$CreateImpl implements _Create { const DeepCollectionEquality().hash(_items), customerName, orderType, - tableNumber); + const DeepCollectionEquality().hash(table)); /// Create a copy of OrderFormEvent /// with the given fields replaced by the non-null parameter values. @@ -430,20 +405,16 @@ class _$CreateImpl implements _Create { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, required TResult Function() refund, }) { - return create(items, customerName, orderType, tableNumber); + return create(items, customerName, orderType, table); } @override @@ -451,20 +422,16 @@ class _$CreateImpl implements _Create { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, TResult? Function()? refund, }) { - return create?.call(items, customerName, orderType, tableNumber); + return create?.call(items, customerName, orderType, table); } @override @@ -472,14 +439,10 @@ class _$CreateImpl implements _Create { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, @@ -487,7 +450,7 @@ class _$CreateImpl implements _Create { required TResult orElse(), }) { if (create != null) { - return create(items, customerName, orderType, tableNumber); + return create(items, customerName, orderType, table); } return orElse(); } @@ -541,12 +504,12 @@ abstract class _Create implements OrderFormEvent { {required final List items, required final String customerName, required final OrderType orderType, - required final String tableNumber}) = _$CreateImpl; + required final TableModel table}) = _$CreateImpl; List get items; String get customerName; OrderType get orderType; - String get tableNumber; + TableModel get table; /// Create a copy of OrderFormEvent /// with the given fields replaced by the non-null parameter values. @@ -566,7 +529,7 @@ abstract class _$$CreateWithPaymentMethodImplCopyWith<$Res> { {List items, String customerName, OrderType orderType, - String tableNumber, + TableModel table, PaymentMethod paymentMethod}); } @@ -587,7 +550,7 @@ class __$$CreateWithPaymentMethodImplCopyWithImpl<$Res> Object? items = null, Object? customerName = null, Object? orderType = null, - Object? tableNumber = null, + Object? table = freezed, Object? paymentMethod = null, }) { return _then(_$CreateWithPaymentMethodImpl( @@ -603,10 +566,10 @@ class __$$CreateWithPaymentMethodImplCopyWithImpl<$Res> ? _value.orderType : orderType // ignore: cast_nullable_to_non_nullable as OrderType, - tableNumber: null == tableNumber - ? _value.tableNumber - : tableNumber // ignore: cast_nullable_to_non_nullable - as String, + table: freezed == table + ? _value.table + : table // ignore: cast_nullable_to_non_nullable + as TableModel, paymentMethod: null == paymentMethod ? _value.paymentMethod : paymentMethod // ignore: cast_nullable_to_non_nullable @@ -622,7 +585,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { {required final List items, required this.customerName, required this.orderType, - required this.tableNumber, + required this.table, required this.paymentMethod}) : _items = items; @@ -639,13 +602,13 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { @override final OrderType orderType; @override - final String tableNumber; + final TableModel table; @override final PaymentMethod paymentMethod; @override String toString() { - return 'OrderFormEvent.createWithPayment(items: $items, customerName: $customerName, orderType: $orderType, tableNumber: $tableNumber, paymentMethod: $paymentMethod)'; + return 'OrderFormEvent.createWithPayment(items: $items, customerName: $customerName, orderType: $orderType, table: $table, paymentMethod: $paymentMethod)'; } @override @@ -658,8 +621,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { other.customerName == customerName) && (identical(other.orderType, orderType) || other.orderType == orderType) && - (identical(other.tableNumber, tableNumber) || - other.tableNumber == tableNumber) && + const DeepCollectionEquality().equals(other.table, table) && (identical(other.paymentMethod, paymentMethod) || other.paymentMethod == paymentMethod)); } @@ -670,7 +632,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { const DeepCollectionEquality().hash(_items), customerName, orderType, - tableNumber, + const DeepCollectionEquality().hash(table), paymentMethod); /// Create a copy of OrderFormEvent @@ -687,21 +649,17 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, required TResult Function() refund, }) { return createWithPayment( - items, customerName, orderType, tableNumber, paymentMethod); + items, customerName, orderType, table, paymentMethod); } @override @@ -709,21 +667,17 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, TResult? Function()? refund, }) { return createWithPayment?.call( - items, customerName, orderType, tableNumber, paymentMethod); + items, customerName, orderType, table, paymentMethod); } @override @@ -731,14 +685,10 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, @@ -747,7 +697,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod { }) { if (createWithPayment != null) { return createWithPayment( - items, customerName, orderType, tableNumber, paymentMethod); + items, customerName, orderType, table, paymentMethod); } return orElse(); } @@ -801,14 +751,14 @@ abstract class _CreateWithPaymentMethod implements OrderFormEvent { {required final List items, required final String customerName, required final OrderType orderType, - required final String tableNumber, + required final TableModel table, required final PaymentMethod paymentMethod}) = _$CreateWithPaymentMethodImpl; List get items; String get customerName; OrderType get orderType; - String get tableNumber; + TableModel get table; PaymentMethod get paymentMethod; /// Create a copy of OrderFormEvent @@ -888,14 +838,10 @@ class _$ToggleItemImpl implements _ToggleItem { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, @@ -909,14 +855,10 @@ class _$ToggleItemImpl implements _ToggleItem { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, @@ -930,14 +872,10 @@ class _$ToggleItemImpl implements _ToggleItem { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, @@ -1078,14 +1016,10 @@ class _$ToggleSelectAllImpl implements _ToggleSelectAll { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, @@ -1099,14 +1033,10 @@ class _$ToggleSelectAllImpl implements _ToggleSelectAll { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, @@ -1120,14 +1050,10 @@ class _$ToggleSelectAllImpl implements _ToggleSelectAll { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, @@ -1239,14 +1165,10 @@ class _$RefundImpl implements _Refund { TResult when({ required TResult Function(Order order) started, required TResult Function(List items, String customerName, - OrderType orderType, String tableNumber) + OrderType orderType, TableModel table) create, - required TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod) + required TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod) createWithPayment, required TResult Function(OrderItem item) toggleItem, required TResult Function(bool selectAll) toggleSelectAll, @@ -1260,14 +1182,10 @@ class _$RefundImpl implements _Refund { TResult? whenOrNull({ TResult? Function(Order order)? started, TResult? Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult? Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult? Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult? Function(OrderItem item)? toggleItem, TResult? Function(bool selectAll)? toggleSelectAll, @@ -1281,14 +1199,10 @@ class _$RefundImpl implements _Refund { TResult maybeWhen({ TResult Function(Order order)? started, TResult Function(List items, String customerName, - OrderType orderType, String tableNumber)? + OrderType orderType, TableModel table)? create, - TResult Function( - List items, - String customerName, - OrderType orderType, - String tableNumber, - PaymentMethod paymentMethod)? + TResult Function(List items, String customerName, + OrderType orderType, TableModel table, PaymentMethod paymentMethod)? createWithPayment, TResult Function(OrderItem item)? toggleItem, TResult Function(bool selectAll)? toggleSelectAll, diff --git a/lib/presentation/home/bloc/order_form/order_form_event.dart b/lib/presentation/home/bloc/order_form/order_form_event.dart index d557ce1..aeb519f 100644 --- a/lib/presentation/home/bloc/order_form/order_form_event.dart +++ b/lib/presentation/home/bloc/order_form/order_form_event.dart @@ -7,13 +7,13 @@ class OrderFormEvent with _$OrderFormEvent { required List items, required String customerName, required OrderType orderType, - required String tableNumber, + required TableModel table, }) = _Create; const factory OrderFormEvent.createWithPayment({ required List items, required String customerName, required OrderType orderType, - required String tableNumber, + required TableModel table, required PaymentMethod paymentMethod, }) = _CreateWithPaymentMethod; const factory OrderFormEvent.toggleItem(OrderItem item) = _ToggleItem; diff --git a/lib/presentation/home/dialog/payment_save_dialog.dart b/lib/presentation/home/dialog/payment_save_dialog.dart index 49cfa19..56b043c 100644 --- a/lib/presentation/home/dialog/payment_save_dialog.dart +++ b/lib/presentation/home/dialog/payment_save_dialog.dart @@ -35,6 +35,9 @@ class _PaymentSaveDialogState extends State { @override void initState() { super.initState(); + context + .read() + .add(GetTableStatusEvent.getTablesStatus('available')); if (widget.selectedTable != null) { selectTable = widget.selectedTable; } @@ -67,7 +70,10 @@ class _PaymentSaveDialogState extends State { BlocBuilder( builder: (context, state) { return state.maybeWhen( - orElse: () => const CircularProgressIndicator(), + orElse: () => + Center(child: const CircularProgressIndicator()), + loading: () => + Center(child: const CircularProgressIndicator()), success: (tables) { final availableTables = tables; @@ -106,7 +112,10 @@ class _PaymentSaveDialogState extends State { child: DropdownButtonHideUnderline( child: DropdownButton( isExpanded: true, - value: selectTable, + value: availableTables.firstWhere( + (t) => t.id == selectTable?.id, + orElse: () => availableTables.first, + ), onChanged: (TableModel? newValue) { setState(() { selectTable = newValue; @@ -152,7 +161,7 @@ class _PaymentSaveDialogState extends State { items: widget.items, customerName: widget.customerName, orderType: widget.orderType, - tableNumber: selectTable!.tableName.toString(), + table: selectTable!, ), ); }, diff --git a/lib/presentation/home/models/order_request.dart b/lib/presentation/home/models/order_request.dart index 98f5b0f..9b6c39d 100644 --- a/lib/presentation/home/models/order_request.dart +++ b/lib/presentation/home/models/order_request.dart @@ -4,6 +4,7 @@ class OrderRequestModel { final String? outletId; final String? userId; final String? tableNumber; + final String? tableId; final String? orderType; final String? notes; final List? orderItems; @@ -13,6 +14,7 @@ class OrderRequestModel { this.outletId, this.userId, this.tableNumber, + this.tableId, this.orderType, this.notes, this.orderItems, @@ -29,6 +31,7 @@ class OrderRequestModel { outletId: json["outlet_id"], userId: json["user_id"], tableNumber: json["table_number"], + tableId: json["table_id"], orderType: json["order_type"], notes: json["notes"], orderItems: json["order_items"] == null @@ -42,6 +45,7 @@ class OrderRequestModel { "outlet_id": outletId, "user_id": userId, "table_number": tableNumber, + "table_id": tableId, "order_type": orderType, "notes": notes, "order_items": orderItems == null diff --git a/lib/presentation/home/pages/confirm_payment_page.dart b/lib/presentation/home/pages/confirm_payment_page.dart index cef81ea..143e7b5 100644 --- a/lib/presentation/home/pages/confirm_payment_page.dart +++ b/lib/presentation/home/pages/confirm_payment_page.dart @@ -16,7 +16,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:enaklo_pos/core/extensions/int_ext.dart'; import 'package:enaklo_pos/core/extensions/string_ext.dart'; import 'package:enaklo_pos/data/models/response/table_model.dart'; -import 'package:enaklo_pos/presentation/home/bloc/get_table_status/get_table_status_bloc.dart'; import 'package:enaklo_pos/presentation/home/bloc/payment_methods/payment_methods_bloc.dart'; import 'package:enaklo_pos/data/models/response/payment_methods_response_model.dart'; @@ -62,9 +61,7 @@ class _ConfirmPaymentPageState extends State { @override void initState() { // Fetch available tables by default - context - .read() - .add(GetTableStatusEvent.getTablesStatus('available')); + context .read() .add(PaymentMethodsEvent.fetchPaymentMethods()); @@ -928,9 +925,7 @@ class _ConfirmPaymentPageState extends State { customerController .text, orderType: orderType, - tableNumber: widget.table - ?.tableName ?? - '', + table: widget.table!, ), ); }, diff --git a/lib/presentation/home/widgets/home_right_title.dart b/lib/presentation/home/widgets/home_right_title.dart index e8028c0..fc1a867 100644 --- a/lib/presentation/home/widgets/home_right_title.dart +++ b/lib/presentation/home/widgets/home_right_title.dart @@ -134,7 +134,7 @@ class HomeRightTitle extends StatelessWidget { }, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, - label: table == null ? 'Pilih Meja' : '${table!.id}', + label: table == null ? 'Pilih Meja' : '${table!.tableName}', ), ), ], diff --git a/lib/presentation/success/pages/success_save_order_page.dart b/lib/presentation/success/pages/success_save_order_page.dart index a5213f5..c01e902 100644 --- a/lib/presentation/success/pages/success_save_order_page.dart +++ b/lib/presentation/success/pages/success_save_order_page.dart @@ -152,8 +152,7 @@ class SuccessSaveOrderPage extends StatelessWidget { children: [ Expanded( child: Button.outlined( - onPressed: () => - context.pushReplacement(DashboardPage()), + onPressed: () => context.push(DashboardPage()), label: 'Kembali', height: 44, ),