Compare commits

..

No commits in common. "571ba9802e72e823a9479b44940722f7aaf34bf7" and "617b5c54f2b071e05a6415e1895217aa29f1f24f" have entirely different histories.

34 changed files with 791 additions and 1717 deletions

View File

@ -14,7 +14,7 @@ class CustomTextField extends StatelessWidget {
final Widget? prefixIcon;
final Widget? suffixIcon;
final bool readOnly;
final int maxLines;
final int? maxLines;
final String? Function(String?)? validator;
const CustomTextField({
@ -30,7 +30,7 @@ class CustomTextField extends StatelessWidget {
this.prefixIcon,
this.suffixIcon,
this.readOnly = false,
this.maxLines = 1,
this.maxLines,
this.validator,
});

View File

@ -358,19 +358,19 @@ class ProductLocalDatasource {
// generate table managent with count
Future<void> createTableManagement(String tableName, Offset position) async {
// final db = await instance.database;
// TableModel newTable = TableModel(
// tableName: tableName,
// status: 'available',
// orderId: 0,
// paymentAmount: 0,
// startTime: DateTime.now().toIso8601String(),
// position: position,
// );
// await db.insert(
// tableManagement,
// newTable.toMap(),
// );
final db = await instance.database;
TableModel newTable = TableModel(
tableName: tableName,
status: 'available',
orderId: 0,
paymentAmount: 0,
startTime: DateTime.now().toIso8601String(),
position: position,
);
await db.insert(
tableManagement,
newTable.toMap(),
);
}
// change position table

View File

@ -1,134 +0,0 @@
import 'dart:developer';
import 'dart:ui';
import 'package:dartz/dartz.dart';
import 'package:dio/dio.dart';
import 'package:enaklo_pos/core/network/dio_client.dart';
import 'package:enaklo_pos/data/models/response/table_model.dart';
import '../../core/constants/variables.dart';
import 'auth_local_datasource.dart';
class TableRemoteDataSource {
final Dio dio = DioClient.instance;
Future<Either<String, bool>> createTable({
required String tableName,
required int capacity,
required String location,
}) async {
try {
final authData = await AuthLocalDataSource().getAuthData();
final url = '${Variables.baseUrl}/api/v1/tables';
final response = await dio.post(
url,
data: {
"outlet_id": authData.user?.outletId,
"table_name": tableName,
"capacity": capacity,
"location": location,
"status": "available",
"is_active": true,
"position_x": 200,
"position_y": 200,
},
options: Options(
headers: {
'Authorization': 'Bearer ${authData.token}',
'Accept': 'application/json',
},
),
);
if (response.statusCode == 200 || response.statusCode == 201) {
return Right(true);
} else {
return const Left('Failed to create table');
}
} on DioException catch (e) {
log("Dio error: ${e.message}");
return Left(e.response?.data['message'] ?? 'Gagal membuat table');
} catch (e) {
log("Unexpected error: $e");
return const Left('Unexpected error occurred');
}
}
Future<Either<String, TableResponseModel>> getTable({
int page = 1,
int limit = 10,
String? status,
}) async {
try {
final authData = await AuthLocalDataSource().getAuthData();
final url = '${Variables.baseUrl}/api/v1/tables';
Map<String, dynamic> queryParameters = {
'page': page,
'limit': limit,
};
if (status != null) {
queryParameters['status'] = status;
}
final response = await dio.get(
url,
queryParameters: queryParameters,
options: Options(
headers: {
'Authorization': 'Bearer ${authData.token}',
'Accept': 'application/json',
},
),
);
if (response.statusCode == 200) {
return Right(TableResponseModel.fromMap(response.data));
} else {
return const Left('Failed to get tables');
}
} on DioException catch (e) {
log("Dio error: ${e.message}");
return Left(e.response?.data['message'] ?? 'Gagal mengambil data meja');
} catch (e) {
log("Unexpected error: $e");
return const Left('Unexpected error occurred');
}
}
Future<Either<String, bool>> updatePosition({
required String tableId,
required Offset position,
}) async {
try {
final authData = await AuthLocalDataSource().getAuthData();
final url = '${Variables.baseUrl}/api/v1/tables/$tableId';
final response = await dio.put(
url,
data: {
"position_x": position.dx.round(),
"position_y": position.dy.round(),
},
options: Options(
headers: {
'Authorization': 'Bearer ${authData.token}',
'Accept': 'application/json',
},
),
);
if (response.statusCode == 200 || response.statusCode == 201) {
return Right(true);
} else {
return const Left('Failed to create table');
}
} on DioException catch (e) {
log("Dio error: ${e.message}");
return Left(e.response?.data['message'] ?? 'Gagal membuat table');
} catch (e) {
log("Unexpected error: $e");
return const Left('Unexpected error occurred');
}
}
}

View File

@ -1,132 +1,74 @@
import 'dart:convert';
class TableResponseModel {
final bool? success;
final TableData? data;
final dynamic errors;
TableResponseModel({
this.success,
this.data,
this.errors,
});
factory TableResponseModel.fromJson(String str) =>
TableResponseModel.fromMap(json.decode(str));
String toJson() => json.encode(toMap());
factory TableResponseModel.fromMap(Map<String, dynamic> json) =>
TableResponseModel(
success: json["success"],
data: json["data"] == null ? null : TableData.fromMap(json["data"]),
errors: json["errors"],
);
Map<String, dynamic> toMap() => {
"success": success,
"data": data?.toMap(),
"errors": errors,
};
}
class TableData {
final List<TableModel>? tables;
final int? totalCount;
final int? page;
final int? limit;
final int? totalPages;
TableData({
this.tables,
this.totalCount,
this.page,
this.limit,
this.totalPages,
});
factory TableData.fromMap(Map<String, dynamic> json) => TableData(
tables: json["tables"] == null
? []
: List<TableModel>.from(
json["tables"].map((x) => TableModel.fromMap(x))),
totalCount: json["total_count"],
page: json["page"],
limit: json["limit"],
totalPages: json["total_pages"],
);
Map<String, dynamic> toMap() => {
"tables": tables == null
? []
: List<dynamic>.from(tables!.map((x) => x.toMap())),
"total_count": totalCount,
"page": page,
"limit": limit,
"total_pages": totalPages,
};
}
// ignore_for_file: public_member_api_docs, sort_constructors_first
import 'dart:ui';
class TableModel {
final String? id;
final String? organizationId;
final String? outletId;
final String? tableName;
final String? status;
final int? paymentAmount;
final double? positionX;
final double? positionY;
final int? capacity;
final bool? isActive;
final DateTime? createdAt;
final DateTime? updatedAt;
int? id;
final String tableName;
final String startTime;
final String status;
final int orderId;
final int paymentAmount;
final Offset position;
TableModel({
this.id,
this.organizationId,
this.outletId,
this.tableName,
this.status,
this.paymentAmount,
this.positionX,
this.positionY,
this.capacity,
this.isActive,
this.createdAt,
this.updatedAt,
required this.tableName,
required this.startTime,
required this.status,
required this.orderId,
required this.paymentAmount,
required this.position,
});
factory TableModel.fromMap(Map<String, dynamic> json) => TableModel(
id: json["id"],
organizationId: json["organization_id"],
outletId: json["outlet_id"],
tableName: json["table_name"],
status: json["status"],
paymentAmount: json["payment_amount"],
positionX: json["position_x"]?.toDouble(),
positionY: json["position_y"]?.toDouble(),
capacity: json["capacity"],
isActive: json["is_active"],
createdAt: json["created_at"] == null
? null
: DateTime.parse(json["created_at"]),
updatedAt: json["updated_at"] == null
? null
: DateTime.parse(json["updated_at"]),
);
@override
Map<String, dynamic> toMap() => {
"id": id,
"organization_id": organizationId,
"outlet_id": outletId,
"table_name": tableName,
"status": status,
"payment_amount": paymentAmount,
"position_x": positionX,
"position_y": positionY,
"capacity": capacity,
"is_active": isActive,
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
};
// from map
factory TableModel.fromMap(Map<String, dynamic> map) {
return TableModel(
id: map['id'],
tableName: map['table_name'],
startTime: map['start_time'],
status: map['status'],
orderId: map['order_id'],
paymentAmount: map['payment_amount'],
position: Offset(map['x_position'], map['y_position']),
);
}
// to map
Map<String, dynamic> toMap() {
return {
'table_name': tableName,
'status': status,
'start_time': startTime,
'order_id': orderId,
'payment_amount': paymentAmount,
'x_position': position.dx,
'y_position': position.dy,
};
}
@override
bool operator ==(covariant TableModel other) {
if (identical(this, other)) return true;
return other.id == id &&
other.tableName == tableName &&
other.startTime == startTime &&
other.status == status &&
other.orderId == orderId &&
other.paymentAmount == paymentAmount &&
other.position == position;
}
@override
int get hashCode {
return id.hashCode ^
tableName.hashCode ^
startTime.hashCode ^
status.hashCode ^
orderId.hashCode ^
paymentAmount.hashCode ^
position.hashCode;
}
}

View File

@ -2,7 +2,6 @@ import 'dart:developer';
import 'package:enaklo_pos/core/constants/theme.dart';
import 'package:enaklo_pos/data/datasources/customer_remote_datasource.dart';
import 'package:enaklo_pos/data/datasources/outlet_remote_data_source.dart';
import 'package:enaklo_pos/data/datasources/table_remote_datasource.dart';
import 'package:enaklo_pos/presentation/customer/bloc/customer_form/customer_form_bloc.dart';
import 'package:enaklo_pos/presentation/customer/bloc/customer_loader/customer_loader_bloc.dart';
import 'package:enaklo_pos/presentation/home/bloc/order_form/order_form_bloc.dart';
@ -148,13 +147,13 @@ class _MyAppState extends State<MyApp> {
create: (context) => TransactionReportBloc(OrderRemoteDatasource()),
),
BlocProvider(
create: (context) => CreateTableBloc(TableRemoteDataSource()),
create: (context) => CreateTableBloc(),
),
BlocProvider(
create: (context) => ChangePositionTableBloc(TableRemoteDataSource()),
create: (context) => ChangePositionTableBloc(),
),
BlocProvider(
create: (context) => GetTableBloc(TableRemoteDataSource()),
create: (context) => GetTableBloc(),
),
BlocProvider(
create: (context) => UpdateTableBloc(),
@ -167,7 +166,7 @@ class _MyAppState extends State<MyApp> {
LastOrderTableBloc(ProductLocalDatasource.instance),
),
BlocProvider(
create: (context) => GetTableStatusBloc(TableRemoteDataSource()),
create: (context) => GetTableStatusBloc(),
),
BlocProvider(
create: (context) => AddProductBloc(ProductRemoteDatasource()),

View File

@ -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,17 +9,12 @@ part 'get_table_status_bloc.freezed.dart';
class GetTableStatusBloc
extends Bloc<GetTableStatusEvent, GetTableStatusState> {
final TableRemoteDataSource _tableRemoteDataSource;
GetTableStatusBloc(this._tableRemoteDataSource) : super(_Initial()) {
GetTableStatusBloc() : super(_Initial()) {
on<_GetTablesStatus>((event, emit) async {
emit(_Loading());
final tables =
await _tableRemoteDataSource.getTable(status: event.status);
tables.fold(
(failure) => emit(_Error(failure)),
(tableResponse) => emit(_Success(tableResponse.data!.tables!)),
);
await ProductLocalDatasource.instance.getTableByStatus(event.status);
emit(_Success(tables));
});
}
}

View File

@ -330,7 +330,6 @@ mixin _$GetTableStatusState {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -338,7 +337,6 @@ mixin _$GetTableStatusState {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -346,7 +344,6 @@ mixin _$GetTableStatusState {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@ -355,7 +352,6 @@ 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
@ -363,7 +359,6 @@ 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
@ -371,7 +366,6 @@ 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;
@ -442,7 +436,6 @@ class _$InitialImpl implements _Initial {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return initial();
}
@ -453,7 +446,6 @@ class _$InitialImpl implements _Initial {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return initial?.call();
}
@ -464,7 +456,6 @@ class _$InitialImpl implements _Initial {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (initial != null) {
@ -479,7 +470,6 @@ 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);
}
@ -490,7 +480,6 @@ 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);
}
@ -501,7 +490,6 @@ 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) {
@ -559,7 +547,6 @@ class _$LoadingImpl implements _Loading {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return loading();
}
@ -570,7 +557,6 @@ class _$LoadingImpl implements _Loading {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return loading?.call();
}
@ -581,7 +567,6 @@ class _$LoadingImpl implements _Loading {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (loading != null) {
@ -596,7 +581,6 @@ 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);
}
@ -607,7 +591,6 @@ 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);
}
@ -618,7 +601,6 @@ 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) {
@ -709,7 +691,6 @@ class _$SuccessImpl implements _Success {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return success(tables);
}
@ -720,7 +701,6 @@ class _$SuccessImpl implements _Success {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return success?.call(tables);
}
@ -731,7 +711,6 @@ class _$SuccessImpl implements _Success {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (success != null) {
@ -746,7 +725,6 @@ 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);
}
@ -757,7 +735,6 @@ 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);
}
@ -768,7 +745,6 @@ 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) {
@ -789,155 +765,3 @@ 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<TResult extends Object?>({
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return error(message);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return error?.call(message);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (error != null) {
return error(message);
}
return orElse();
}
@override
@optionalTypeArgs
TResult map<TResult extends Object?>({
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 extends Object?>({
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 extends Object?>({
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;
}

View File

@ -5,5 +5,4 @@ class GetTableStatusState with _$GetTableStatusState {
const factory GetTableStatusState.initial() = _Initial;
const factory GetTableStatusState.loading() = _Loading;
const factory GetTableStatusState.success(List<TableModel> tables) = _Success;
const factory GetTableStatusState.error(String message) = _Error;
}

View File

@ -5,7 +5,6 @@ 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';
@ -34,8 +33,7 @@ class OrderFormBloc extends Bloc<OrderFormEvent, OrderFormState> {
customerName: event.customerName,
notes: '',
orderType: event.orderType.name,
tableId: event.table.id,
tableNumber: event.table.tableName,
tableNumber: event.tableNumber.toString(),
outletId: userData.user?.outletId,
userId: userData.user?.id,
orderItems: event.items
@ -75,8 +73,7 @@ class OrderFormBloc extends Bloc<OrderFormEvent, OrderFormState> {
customerName: event.customerName,
notes: '',
orderType: event.orderType.name,
tableId: event.table.id,
tableNumber: event.table.tableName,
tableNumber: event.tableNumber.toString(),
outletId: userData.user?.outletId,
userId: userData.user?.id,
orderItems: event.items

View File

@ -20,10 +20,14 @@ mixin _$OrderFormEvent {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
@ -34,10 +38,14 @@ mixin _$OrderFormEvent {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
@ -48,10 +56,14 @@ mixin _$OrderFormEvent {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,
@ -183,10 +195,14 @@ class _$StartedImpl implements _Started {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
@ -200,10 +216,14 @@ class _$StartedImpl implements _Started {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
@ -217,10 +237,14 @@ class _$StartedImpl implements _Started {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,
@ -299,7 +323,7 @@ abstract class _$$CreateImplCopyWith<$Res> {
{List<ProductQuantity> items,
String customerName,
OrderType orderType,
TableModel table});
String tableNumber});
}
/// @nodoc
@ -318,7 +342,7 @@ class __$$CreateImplCopyWithImpl<$Res>
Object? items = null,
Object? customerName = null,
Object? orderType = null,
Object? table = freezed,
Object? tableNumber = null,
}) {
return _then(_$CreateImpl(
items: null == items
@ -333,10 +357,10 @@ class __$$CreateImplCopyWithImpl<$Res>
? _value.orderType
: orderType // ignore: cast_nullable_to_non_nullable
as OrderType,
table: freezed == table
? _value.table
: table // ignore: cast_nullable_to_non_nullable
as TableModel,
tableNumber: null == tableNumber
? _value.tableNumber
: tableNumber // ignore: cast_nullable_to_non_nullable
as String,
));
}
}
@ -348,7 +372,7 @@ class _$CreateImpl implements _Create {
{required final List<ProductQuantity> items,
required this.customerName,
required this.orderType,
required this.table})
required this.tableNumber})
: _items = items;
final List<ProductQuantity> _items;
@ -364,11 +388,11 @@ class _$CreateImpl implements _Create {
@override
final OrderType orderType;
@override
final TableModel table;
final String tableNumber;
@override
String toString() {
return 'OrderFormEvent.create(items: $items, customerName: $customerName, orderType: $orderType, table: $table)';
return 'OrderFormEvent.create(items: $items, customerName: $customerName, orderType: $orderType, tableNumber: $tableNumber)';
}
@override
@ -381,7 +405,8 @@ class _$CreateImpl implements _Create {
other.customerName == customerName) &&
(identical(other.orderType, orderType) ||
other.orderType == orderType) &&
const DeepCollectionEquality().equals(other.table, table));
(identical(other.tableNumber, tableNumber) ||
other.tableNumber == tableNumber));
}
@override
@ -390,7 +415,7 @@ class _$CreateImpl implements _Create {
const DeepCollectionEquality().hash(_items),
customerName,
orderType,
const DeepCollectionEquality().hash(table));
tableNumber);
/// Create a copy of OrderFormEvent
/// with the given fields replaced by the non-null parameter values.
@ -405,16 +430,20 @@ class _$CreateImpl implements _Create {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
required TResult Function() refund,
}) {
return create(items, customerName, orderType, table);
return create(items, customerName, orderType, tableNumber);
}
@override
@ -422,16 +451,20 @@ class _$CreateImpl implements _Create {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
TResult? Function()? refund,
}) {
return create?.call(items, customerName, orderType, table);
return create?.call(items, customerName, orderType, tableNumber);
}
@override
@ -439,10 +472,14 @@ class _$CreateImpl implements _Create {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,
@ -450,7 +487,7 @@ class _$CreateImpl implements _Create {
required TResult orElse(),
}) {
if (create != null) {
return create(items, customerName, orderType, table);
return create(items, customerName, orderType, tableNumber);
}
return orElse();
}
@ -504,12 +541,12 @@ abstract class _Create implements OrderFormEvent {
{required final List<ProductQuantity> items,
required final String customerName,
required final OrderType orderType,
required final TableModel table}) = _$CreateImpl;
required final String tableNumber}) = _$CreateImpl;
List<ProductQuantity> get items;
String get customerName;
OrderType get orderType;
TableModel get table;
String get tableNumber;
/// Create a copy of OrderFormEvent
/// with the given fields replaced by the non-null parameter values.
@ -529,7 +566,7 @@ abstract class _$$CreateWithPaymentMethodImplCopyWith<$Res> {
{List<ProductQuantity> items,
String customerName,
OrderType orderType,
TableModel table,
String tableNumber,
PaymentMethod paymentMethod});
}
@ -550,7 +587,7 @@ class __$$CreateWithPaymentMethodImplCopyWithImpl<$Res>
Object? items = null,
Object? customerName = null,
Object? orderType = null,
Object? table = freezed,
Object? tableNumber = null,
Object? paymentMethod = null,
}) {
return _then(_$CreateWithPaymentMethodImpl(
@ -566,10 +603,10 @@ class __$$CreateWithPaymentMethodImplCopyWithImpl<$Res>
? _value.orderType
: orderType // ignore: cast_nullable_to_non_nullable
as OrderType,
table: freezed == table
? _value.table
: table // ignore: cast_nullable_to_non_nullable
as TableModel,
tableNumber: null == tableNumber
? _value.tableNumber
: tableNumber // ignore: cast_nullable_to_non_nullable
as String,
paymentMethod: null == paymentMethod
? _value.paymentMethod
: paymentMethod // ignore: cast_nullable_to_non_nullable
@ -585,7 +622,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
{required final List<ProductQuantity> items,
required this.customerName,
required this.orderType,
required this.table,
required this.tableNumber,
required this.paymentMethod})
: _items = items;
@ -602,13 +639,13 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
@override
final OrderType orderType;
@override
final TableModel table;
final String tableNumber;
@override
final PaymentMethod paymentMethod;
@override
String toString() {
return 'OrderFormEvent.createWithPayment(items: $items, customerName: $customerName, orderType: $orderType, table: $table, paymentMethod: $paymentMethod)';
return 'OrderFormEvent.createWithPayment(items: $items, customerName: $customerName, orderType: $orderType, tableNumber: $tableNumber, paymentMethod: $paymentMethod)';
}
@override
@ -621,7 +658,8 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
other.customerName == customerName) &&
(identical(other.orderType, orderType) ||
other.orderType == orderType) &&
const DeepCollectionEquality().equals(other.table, table) &&
(identical(other.tableNumber, tableNumber) ||
other.tableNumber == tableNumber) &&
(identical(other.paymentMethod, paymentMethod) ||
other.paymentMethod == paymentMethod));
}
@ -632,7 +670,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
const DeepCollectionEquality().hash(_items),
customerName,
orderType,
const DeepCollectionEquality().hash(table),
tableNumber,
paymentMethod);
/// Create a copy of OrderFormEvent
@ -649,17 +687,21 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
required TResult Function() refund,
}) {
return createWithPayment(
items, customerName, orderType, table, paymentMethod);
items, customerName, orderType, tableNumber, paymentMethod);
}
@override
@ -667,17 +709,21 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
TResult? Function()? refund,
}) {
return createWithPayment?.call(
items, customerName, orderType, table, paymentMethod);
items, customerName, orderType, tableNumber, paymentMethod);
}
@override
@ -685,10 +731,14 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,
@ -697,7 +747,7 @@ class _$CreateWithPaymentMethodImpl implements _CreateWithPaymentMethod {
}) {
if (createWithPayment != null) {
return createWithPayment(
items, customerName, orderType, table, paymentMethod);
items, customerName, orderType, tableNumber, paymentMethod);
}
return orElse();
}
@ -751,14 +801,14 @@ abstract class _CreateWithPaymentMethod implements OrderFormEvent {
{required final List<ProductQuantity> items,
required final String customerName,
required final OrderType orderType,
required final TableModel table,
required final String tableNumber,
required final PaymentMethod paymentMethod}) =
_$CreateWithPaymentMethodImpl;
List<ProductQuantity> get items;
String get customerName;
OrderType get orderType;
TableModel get table;
String get tableNumber;
PaymentMethod get paymentMethod;
/// Create a copy of OrderFormEvent
@ -838,10 +888,14 @@ class _$ToggleItemImpl implements _ToggleItem {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
@ -855,10 +909,14 @@ class _$ToggleItemImpl implements _ToggleItem {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
@ -872,10 +930,14 @@ class _$ToggleItemImpl implements _ToggleItem {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,
@ -1016,10 +1078,14 @@ class _$ToggleSelectAllImpl implements _ToggleSelectAll {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
@ -1033,10 +1099,14 @@ class _$ToggleSelectAllImpl implements _ToggleSelectAll {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
@ -1050,10 +1120,14 @@ class _$ToggleSelectAllImpl implements _ToggleSelectAll {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,
@ -1165,10 +1239,14 @@ class _$RefundImpl implements _Refund {
TResult when<TResult extends Object?>({
required TResult Function(Order order) started,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)
OrderType orderType, String tableNumber)
create,
required TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)
required TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)
createWithPayment,
required TResult Function(OrderItem item) toggleItem,
required TResult Function(bool selectAll) toggleSelectAll,
@ -1182,10 +1260,14 @@ class _$RefundImpl implements _Refund {
TResult? whenOrNull<TResult extends Object?>({
TResult? Function(Order order)? started,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult? Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult? Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult? Function(OrderItem item)? toggleItem,
TResult? Function(bool selectAll)? toggleSelectAll,
@ -1199,10 +1281,14 @@ class _$RefundImpl implements _Refund {
TResult maybeWhen<TResult extends Object?>({
TResult Function(Order order)? started,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table)?
OrderType orderType, String tableNumber)?
create,
TResult Function(List<ProductQuantity> items, String customerName,
OrderType orderType, TableModel table, PaymentMethod paymentMethod)?
TResult Function(
List<ProductQuantity> items,
String customerName,
OrderType orderType,
String tableNumber,
PaymentMethod paymentMethod)?
createWithPayment,
TResult Function(OrderItem item)? toggleItem,
TResult Function(bool selectAll)? toggleSelectAll,

View File

@ -7,13 +7,13 @@ class OrderFormEvent with _$OrderFormEvent {
required List<ProductQuantity> items,
required String customerName,
required OrderType orderType,
required TableModel table,
required String tableNumber,
}) = _Create;
const factory OrderFormEvent.createWithPayment({
required List<ProductQuantity> items,
required String customerName,
required OrderType orderType,
required TableModel table,
required String tableNumber,
required PaymentMethod paymentMethod,
}) = _CreateWithPaymentMethod;
const factory OrderFormEvent.toggleItem(OrderItem item) = _ToggleItem;

View File

@ -35,9 +35,6 @@ class _PaymentSaveDialogState extends State<PaymentSaveDialog> {
@override
void initState() {
super.initState();
context
.read<GetTableStatusBloc>()
.add(GetTableStatusEvent.getTablesStatus('available'));
if (widget.selectedTable != null) {
selectTable = widget.selectedTable;
}
@ -70,10 +67,7 @@ class _PaymentSaveDialogState extends State<PaymentSaveDialog> {
BlocBuilder<GetTableStatusBloc, GetTableStatusState>(
builder: (context, state) {
return state.maybeWhen(
orElse: () =>
Center(child: const CircularProgressIndicator()),
loading: () =>
Center(child: const CircularProgressIndicator()),
orElse: () => const CircularProgressIndicator(),
success: (tables) {
final availableTables = tables;
@ -112,10 +106,7 @@ class _PaymentSaveDialogState extends State<PaymentSaveDialog> {
child: DropdownButtonHideUnderline(
child: DropdownButton<TableModel>(
isExpanded: true,
value: availableTables.firstWhere(
(t) => t.id == selectTable?.id,
orElse: () => availableTables.first,
),
value: selectTable,
onChanged: (TableModel? newValue) {
setState(() {
selectTable = newValue;
@ -126,7 +117,7 @@ class _PaymentSaveDialogState extends State<PaymentSaveDialog> {
(TableModel value) =>
DropdownMenuItem<TableModel>(
value: value,
child: Text(value.tableName ?? ""),
child: Text(value.tableName),
),
)
.toList(),
@ -161,7 +152,7 @@ class _PaymentSaveDialogState extends State<PaymentSaveDialog> {
items: widget.items,
customerName: widget.customerName,
orderType: widget.orderType,
table: selectTable!,
tableNumber: selectTable!.tableName.toString(),
),
);
},

View File

@ -4,7 +4,6 @@ class OrderRequestModel {
final String? outletId;
final String? userId;
final String? tableNumber;
final String? tableId;
final String? orderType;
final String? notes;
final List<OrderItemRequest>? orderItems;
@ -14,7 +13,6 @@ class OrderRequestModel {
this.outletId,
this.userId,
this.tableNumber,
this.tableId,
this.orderType,
this.notes,
this.orderItems,
@ -31,7 +29,6 @@ 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
@ -45,7 +42,6 @@ class OrderRequestModel {
"outlet_id": outletId,
"user_id": userId,
"table_number": tableNumber,
"table_id": tableId,
"order_type": orderType,
"notes": notes,
"order_items": orderItems == null

View File

@ -829,8 +829,7 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
DropdownMenuItem<
TableModel>(
value: value,
child: Text(
value.tableName ?? ""),
child: Text(value.tableName),
),
)
.toList(),
@ -1193,28 +1192,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:
@ -1358,16 +1357,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,
@ -1516,120 +1515,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(
@ -1641,16 +1640,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,

View File

@ -16,6 +16,7 @@ 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';
@ -61,7 +62,9 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
@override
void initState() {
// Fetch available tables by default
context
.read<GetTableStatusBloc>()
.add(GetTableStatusEvent.getTablesStatus('available'));
context
.read<PaymentMethodsBloc>()
.add(PaymentMethodsEvent.fetchPaymentMethods());
@ -925,7 +928,9 @@ class _ConfirmPaymentPageState extends State<ConfirmPaymentPage> {
customerController
.text,
orderType: orderType,
table: widget.table!,
tableNumber: widget.table
?.tableName ??
'',
),
);
},

View File

@ -134,7 +134,7 @@ class HomeRightTitle extends StatelessWidget {
},
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
label: table == null ? 'Pilih Meja' : '${table!.tableName}',
label: table == null ? 'Pilih Meja' : '${table!.id}',
),
),
],

View File

@ -97,108 +97,98 @@ class _SaveOrderDialogState extends State<SaveOrderDialog> {
builder: (context, state) {
final orderType = state.maybeWhen(
orElse: () => OrderType.dineIn,
loaded: (items,
discountModel,
discount,
discountAmount,
tax,
serviceCharge,
totalQuantity,
totalPrice,
draftName,
orderType) =>
orderType,
loaded: (items, discountModel, discount, discountAmount, tax, serviceCharge, totalQuantity, totalPrice, draftName, orderType) => orderType,
);
return Button.filled(
onPressed: () async {
final checkerPrinter = await ProductLocalDatasource
.instance
.getPrinterByCode('checker');
final kitchenPrinter = await ProductLocalDatasource
.instance
.getPrinterByCode('kitchen');
final barPrinter = await ProductLocalDatasource
.instance
.getPrinterByCode('bar');
final checkerPrinter = await ProductLocalDatasource
.instance
.getPrinterByCode('checker');
final kitchenPrinter = await ProductLocalDatasource
.instance
.getPrinterByCode('kitchen');
final barPrinter = await ProductLocalDatasource.instance
.getPrinterByCode('bar');
log("Checker printer: ${checkerPrinter?.toMap()}");
log("Kitchen printer: ${kitchenPrinter?.toMap()}");
log("Bar printer: ${barPrinter?.toMap()}");
// Checker printer
if (checkerPrinter != null) {
try {
final printValue = await PrintDataoutputs.instance
.printChecker(
widget.data,
widget.table.tableName,
widget.draftName,
'kasir',
checkerPrinter.paper.toIntegerFromText,
orderType.value);
await PrinterService().printWithPrinter(
checkerPrinter,
printValue,
context
);
} catch (e) {
log("Error printing checker: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error printing checker: $e')),
);
}
}
log("Checker printer: ${checkerPrinter?.toMap()}");
log("Kitchen printer: ${kitchenPrinter?.toMap()}");
log("Bar printer: ${barPrinter?.toMap()}");
// Kitchen printer
if (kitchenPrinter != null) {
try {
final printValue = await PrintDataoutputs.instance.printKitchen(
widget.data,
widget.table.tableName,
widget.draftName,
'kasir',
kitchenPrinter.paper.toIntegerFromText,
orderType.value,
);
await PrinterService().printWithPrinter(
kitchenPrinter,
printValue,
context
);
} catch (e) {
log("Error printing kitchen order: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error printing kitchen order: $e')),
);
}
}
// Checker printer
if (checkerPrinter != null) {
try {
final printValue = await PrintDataoutputs.instance
.printChecker(
widget.data,
widget.table.tableName!,
widget.draftName,
'kasir',
checkerPrinter.paper.toIntegerFromText,
orderType.value);
await PrinterService().printWithPrinter(
checkerPrinter, printValue, context);
} catch (e) {
log("Error printing checker: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content:
Text('Error printing checker: $e')),
);
}
}
// Kitchen printer
if (kitchenPrinter != null) {
try {
final printValue =
await PrintDataoutputs.instance.printKitchen(
widget.data,
widget.table.tableName!,
widget.draftName,
'kasir',
kitchenPrinter.paper.toIntegerFromText,
orderType.value,
);
await PrinterService().printWithPrinter(
kitchenPrinter, printValue, context);
} catch (e) {
log("Error printing kitchen order: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
'Error printing kitchen order: $e')),
);
}
}
// Bar printer
if (barPrinter != null) {
try {
final printValue =
await PrintDataoutputs.instance.printBar(
widget.data,
widget.table.tableName!,
widget.draftName,
'kasir',
barPrinter.paper.toIntegerFromText,
orderType.value,
);
await PrinterService().printWithPrinter(
barPrinter, printValue, context);
} catch (e) {
log("Error printing bar order: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content:
Text('Error printing bar order: $e')),
);
}
}
// Bar printer
if (barPrinter != null) {
try {
final printValue = await PrintDataoutputs.instance.printBar(
widget.data,
widget.table.tableName,
widget.draftName,
'kasir',
barPrinter.paper.toIntegerFromText,
orderType.value,
);
await PrinterService().printWithPrinter(
barPrinter,
printValue,
context
);
} catch (e) {
log("Error printing bar order: $e");
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Error printing bar order: $e')),
);
}
}
},
label: 'Print Checker',
);

View File

@ -152,7 +152,8 @@ class SuccessSaveOrderPage extends StatelessWidget {
children: [
Expanded(
child: Button.outlined(
onPressed: () => context.push(DashboardPage()),
onPressed: () =>
context.pushReplacement(DashboardPage()),
label: 'Kembali',
height: 44,
),

View File

@ -1,7 +1,7 @@
import 'dart:ui';
import 'package:bloc/bloc.dart';
import 'package:enaklo_pos/data/datasources/table_remote_datasource.dart';
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'change_position_table_event.dart';
@ -10,19 +10,11 @@ part 'change_position_table_bloc.freezed.dart';
class ChangePositionTableBloc
extends Bloc<ChangePositionTableEvent, ChangePositionTableState> {
final TableRemoteDataSource _tableRemoteDataSource;
ChangePositionTableBloc(this._tableRemoteDataSource)
: super(ChangePositionTableState.initial()) {
ChangePositionTableBloc() : super(_Initial()) {
on<_ChangePositionTable>((event, emit) async {
emit(_Loading());
final result = await _tableRemoteDataSource.updatePosition(
tableId: event.tableId,
position: event.position,
);
result.fold(
(l) => emit(_Error(l)),
(r) => emit(_Success('Generate Success')),
);
await ProductLocalDatasource.instance
.changePositionTable(event.tableId, event.position);
emit(_Success('Generate Success'));
});
}

View File

@ -19,20 +19,19 @@ mixin _$ChangePositionTableEvent {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(String tableId, Offset position)
changePositionTable,
required TResult Function(int tableId, Offset position) changePositionTable,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(String tableId, Offset position)? changePositionTable,
TResult? Function(int tableId, Offset position)? changePositionTable,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(String tableId, Offset position)? changePositionTable,
TResult Function(int tableId, Offset position)? changePositionTable,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@ -121,8 +120,7 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(String tableId, Offset position)
changePositionTable,
required TResult Function(int tableId, Offset position) changePositionTable,
}) {
return started();
}
@ -131,7 +129,7 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(String tableId, Offset position)? changePositionTable,
TResult? Function(int tableId, Offset position)? changePositionTable,
}) {
return started?.call();
}
@ -140,7 +138,7 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(String tableId, Offset position)? changePositionTable,
TResult Function(int tableId, Offset position)? changePositionTable,
required TResult orElse(),
}) {
if (started != null) {
@ -191,7 +189,7 @@ abstract class _$$ChangePositionTableImplCopyWith<$Res> {
$Res Function(_$ChangePositionTableImpl) then) =
__$$ChangePositionTableImplCopyWithImpl<$Res>;
@useResult
$Res call({String tableId, Offset position});
$Res call({int tableId, Offset position});
}
/// @nodoc
@ -215,7 +213,7 @@ class __$$ChangePositionTableImplCopyWithImpl<$Res>
tableId: null == tableId
? _value.tableId
: tableId // ignore: cast_nullable_to_non_nullable
as String,
as int,
position: null == position
? _value.position
: position // ignore: cast_nullable_to_non_nullable
@ -231,7 +229,7 @@ class _$ChangePositionTableImpl implements _ChangePositionTable {
{required this.tableId, required this.position});
@override
final String tableId;
final int tableId;
@override
final Offset position;
@ -266,8 +264,7 @@ class _$ChangePositionTableImpl implements _ChangePositionTable {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(String tableId, Offset position)
changePositionTable,
required TResult Function(int tableId, Offset position) changePositionTable,
}) {
return changePositionTable(tableId, position);
}
@ -276,7 +273,7 @@ class _$ChangePositionTableImpl implements _ChangePositionTable {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(String tableId, Offset position)? changePositionTable,
TResult? Function(int tableId, Offset position)? changePositionTable,
}) {
return changePositionTable?.call(tableId, position);
}
@ -285,7 +282,7 @@ class _$ChangePositionTableImpl implements _ChangePositionTable {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(String tableId, Offset position)? changePositionTable,
TResult Function(int tableId, Offset position)? changePositionTable,
required TResult orElse(),
}) {
if (changePositionTable != null) {
@ -328,10 +325,10 @@ class _$ChangePositionTableImpl implements _ChangePositionTable {
abstract class _ChangePositionTable implements ChangePositionTableEvent {
const factory _ChangePositionTable(
{required final String tableId,
{required final int tableId,
required final Offset position}) = _$ChangePositionTableImpl;
String get tableId;
int get tableId;
Offset get position;
/// Create a copy of ChangePositionTableEvent
@ -348,7 +345,6 @@ mixin _$ChangePositionTableState {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -356,7 +352,6 @@ mixin _$ChangePositionTableState {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -364,7 +359,6 @@ mixin _$ChangePositionTableState {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@ -373,7 +367,6 @@ mixin _$ChangePositionTableState {
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
@ -381,7 +374,6 @@ mixin _$ChangePositionTableState {
TResult? Function(_Initial value)? initial,
TResult? Function(_Loading value)? loading,
TResult? Function(_Success value)? success,
TResult? Function(_Error value)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -389,7 +381,6 @@ mixin _$ChangePositionTableState {
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;
@ -461,7 +452,6 @@ class _$InitialImpl implements _Initial {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return initial();
}
@ -472,7 +462,6 @@ class _$InitialImpl implements _Initial {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return initial?.call();
}
@ -483,7 +472,6 @@ class _$InitialImpl implements _Initial {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (initial != null) {
@ -498,7 +486,6 @@ 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);
}
@ -509,7 +496,6 @@ 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);
}
@ -520,7 +506,6 @@ 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) {
@ -578,7 +563,6 @@ class _$LoadingImpl implements _Loading {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return loading();
}
@ -589,7 +573,6 @@ class _$LoadingImpl implements _Loading {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return loading?.call();
}
@ -600,7 +583,6 @@ class _$LoadingImpl implements _Loading {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (loading != null) {
@ -615,7 +597,6 @@ 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);
}
@ -626,7 +607,6 @@ 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);
}
@ -637,7 +617,6 @@ 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) {
@ -722,7 +701,6 @@ class _$SuccessImpl implements _Success {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return success(message);
}
@ -733,7 +711,6 @@ class _$SuccessImpl implements _Success {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return success?.call(message);
}
@ -744,7 +721,6 @@ class _$SuccessImpl implements _Success {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (success != null) {
@ -759,7 +735,6 @@ 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);
}
@ -770,7 +745,6 @@ 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);
}
@ -781,7 +755,6 @@ 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) {
@ -802,155 +775,3 @@ abstract class _Success implements ChangePositionTableState {
_$$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 _$ChangePositionTableStateCopyWithImpl<$Res, _$ErrorImpl>
implements _$$ErrorImplCopyWith<$Res> {
__$$ErrorImplCopyWithImpl(
_$ErrorImpl _value, $Res Function(_$ErrorImpl) _then)
: super(_value, _then);
/// Create a copy of ChangePositionTableState
/// 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 'ChangePositionTableState.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 ChangePositionTableState
/// 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<TResult extends Object?>({
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return error(message);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return error?.call(message);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (error != null) {
return error(message);
}
return orElse();
}
@override
@optionalTypeArgs
TResult map<TResult extends Object?>({
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 extends Object?>({
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 extends Object?>({
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 ChangePositionTableState {
const factory _Error(final String message) = _$ErrorImpl;
String get message;
/// Create a copy of ChangePositionTableState
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
_$$ErrorImplCopyWith<_$ErrorImpl> get copyWith =>
throw _privateConstructorUsedError;
}

View File

@ -4,7 +4,7 @@ part of 'change_position_table_bloc.dart';
class ChangePositionTableEvent with _$ChangePositionTableEvent {
const factory ChangePositionTableEvent.started() = _Started;
const factory ChangePositionTableEvent.changePositionTable({
required String tableId,
required int tableId,
required Offset position,
}) = _ChangePositionTable;
}

View File

@ -7,5 +7,4 @@ class ChangePositionTableState with _$ChangePositionTableState {
const factory ChangePositionTableState.loading() = _Loading;
const factory ChangePositionTableState.success(String message) = _Success;
const factory ChangePositionTableState.error(String message) = _Error;
}

View File

@ -1,5 +1,7 @@
import 'dart:ui';
import 'package:bloc/bloc.dart';
import 'package:enaklo_pos/data/datasources/table_remote_datasource.dart';
import 'package:enaklo_pos/data/datasources/product_local_datasource.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'create_table_event.dart';
@ -7,19 +9,12 @@ part 'create_table_state.dart';
part 'create_table_bloc.freezed.dart';
class CreateTableBloc extends Bloc<CreateTableEvent, CreateTableState> {
final TableRemoteDataSource _tableRemoteDataSource;
CreateTableBloc(this._tableRemoteDataSource)
: super(CreateTableState.initial()) {
CreateTableBloc() : super(_Initial()) {
on<_CreateTable>((event, emit) async {
emit(_Loading());
final result = await _tableRemoteDataSource.createTable(
tableName: event.tableName,
capacity: event.capacity,
location: event.location,
);
result.fold((l) => emit(_Error(l)),
(r) => emit(_Success('Meja berhasil dibuat')));
await ProductLocalDatasource.instance
.createTableManagement(event.tableName, event.position);
emit(_Success('Create Table Success'));
});
}
}

View File

@ -19,22 +19,19 @@ mixin _$CreateTableEvent {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(String tableName, int capacity, String location)
createTable,
required TResult Function(String tableName, Offset position) createTable,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(String tableName, int capacity, String location)?
createTable,
TResult? Function(String tableName, Offset position)? createTable,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(String tableName, int capacity, String location)?
createTable,
TResult Function(String tableName, Offset position)? createTable,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@ -122,8 +119,7 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(String tableName, int capacity, String location)
createTable,
required TResult Function(String tableName, Offset position) createTable,
}) {
return started();
}
@ -132,8 +128,7 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(String tableName, int capacity, String location)?
createTable,
TResult? Function(String tableName, Offset position)? createTable,
}) {
return started?.call();
}
@ -142,8 +137,7 @@ class _$StartedImpl implements _Started {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(String tableName, int capacity, String location)?
createTable,
TResult Function(String tableName, Offset position)? createTable,
required TResult orElse(),
}) {
if (started != null) {
@ -194,7 +188,7 @@ abstract class _$$CreateTableImplCopyWith<$Res> {
_$CreateTableImpl value, $Res Function(_$CreateTableImpl) then) =
__$$CreateTableImplCopyWithImpl<$Res>;
@useResult
$Res call({String tableName, int capacity, String location});
$Res call({String tableName, Offset position});
}
/// @nodoc
@ -211,22 +205,17 @@ class __$$CreateTableImplCopyWithImpl<$Res>
@override
$Res call({
Object? tableName = null,
Object? capacity = null,
Object? location = null,
Object? position = null,
}) {
return _then(_$CreateTableImpl(
tableName: null == tableName
null == tableName
? _value.tableName
: tableName // ignore: cast_nullable_to_non_nullable
as String,
capacity: null == capacity
? _value.capacity
: capacity // ignore: cast_nullable_to_non_nullable
as int,
location: null == location
? _value.location
: location // ignore: cast_nullable_to_non_nullable
as String,
null == position
? _value.position
: position // ignore: cast_nullable_to_non_nullable
as Offset,
));
}
}
@ -234,21 +223,16 @@ class __$$CreateTableImplCopyWithImpl<$Res>
/// @nodoc
class _$CreateTableImpl implements _CreateTable {
const _$CreateTableImpl(
{required this.tableName,
required this.capacity,
required this.location});
const _$CreateTableImpl(this.tableName, this.position);
@override
final String tableName;
@override
final int capacity;
@override
final String location;
final Offset position;
@override
String toString() {
return 'CreateTableEvent.createTable(tableName: $tableName, capacity: $capacity, location: $location)';
return 'CreateTableEvent.createTable(tableName: $tableName, position: $position)';
}
@override
@ -258,14 +242,12 @@ class _$CreateTableImpl implements _CreateTable {
other is _$CreateTableImpl &&
(identical(other.tableName, tableName) ||
other.tableName == tableName) &&
(identical(other.capacity, capacity) ||
other.capacity == capacity) &&
(identical(other.location, location) ||
other.location == location));
(identical(other.position, position) ||
other.position == position));
}
@override
int get hashCode => Object.hash(runtimeType, tableName, capacity, location);
int get hashCode => Object.hash(runtimeType, tableName, position);
/// Create a copy of CreateTableEvent
/// with the given fields replaced by the non-null parameter values.
@ -279,32 +261,29 @@ class _$CreateTableImpl implements _CreateTable {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() started,
required TResult Function(String tableName, int capacity, String location)
createTable,
required TResult Function(String tableName, Offset position) createTable,
}) {
return createTable(tableName, capacity, location);
return createTable(tableName, position);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? started,
TResult? Function(String tableName, int capacity, String location)?
createTable,
TResult? Function(String tableName, Offset position)? createTable,
}) {
return createTable?.call(tableName, capacity, location);
return createTable?.call(tableName, position);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? started,
TResult Function(String tableName, int capacity, String location)?
createTable,
TResult Function(String tableName, Offset position)? createTable,
required TResult orElse(),
}) {
if (createTable != null) {
return createTable(tableName, capacity, location);
return createTable(tableName, position);
}
return orElse();
}
@ -342,14 +321,11 @@ class _$CreateTableImpl implements _CreateTable {
}
abstract class _CreateTable implements CreateTableEvent {
const factory _CreateTable(
{required final String tableName,
required final int capacity,
required final String location}) = _$CreateTableImpl;
const factory _CreateTable(final String tableName, final Offset position) =
_$CreateTableImpl;
String get tableName;
int get capacity;
String get location;
Offset get position;
/// Create a copy of CreateTableEvent
/// with the given fields replaced by the non-null parameter values.
@ -365,7 +341,6 @@ mixin _$CreateTableState {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -373,7 +348,6 @@ mixin _$CreateTableState {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -381,7 +355,6 @@ mixin _$CreateTableState {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@ -390,7 +363,6 @@ mixin _$CreateTableState {
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
@ -398,7 +370,6 @@ mixin _$CreateTableState {
TResult? Function(_Initial value)? initial,
TResult? Function(_Loading value)? loading,
TResult? Function(_Success value)? success,
TResult? Function(_Error value)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -406,7 +377,6 @@ mixin _$CreateTableState {
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;
@ -477,7 +447,6 @@ class _$InitialImpl implements _Initial {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return initial();
}
@ -488,7 +457,6 @@ class _$InitialImpl implements _Initial {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return initial?.call();
}
@ -499,7 +467,6 @@ class _$InitialImpl implements _Initial {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (initial != null) {
@ -514,7 +481,6 @@ 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);
}
@ -525,7 +491,6 @@ 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);
}
@ -536,7 +501,6 @@ 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) {
@ -594,7 +558,6 @@ class _$LoadingImpl implements _Loading {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return loading();
}
@ -605,7 +568,6 @@ class _$LoadingImpl implements _Loading {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return loading?.call();
}
@ -616,7 +578,6 @@ class _$LoadingImpl implements _Loading {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (loading != null) {
@ -631,7 +592,6 @@ 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);
}
@ -642,7 +602,6 @@ 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);
}
@ -653,7 +612,6 @@ 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) {
@ -738,7 +696,6 @@ class _$SuccessImpl implements _Success {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return success(message);
}
@ -749,7 +706,6 @@ class _$SuccessImpl implements _Success {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return success?.call(message);
}
@ -760,7 +716,6 @@ class _$SuccessImpl implements _Success {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (success != null) {
@ -775,7 +730,6 @@ 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);
}
@ -786,7 +740,6 @@ 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);
}
@ -797,7 +750,6 @@ 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) {
@ -818,155 +770,3 @@ abstract class _Success implements CreateTableState {
_$$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 _$CreateTableStateCopyWithImpl<$Res, _$ErrorImpl>
implements _$$ErrorImplCopyWith<$Res> {
__$$ErrorImplCopyWithImpl(
_$ErrorImpl _value, $Res Function(_$ErrorImpl) _then)
: super(_value, _then);
/// Create a copy of CreateTableState
/// 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 'CreateTableState.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 CreateTableState
/// 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<TResult extends Object?>({
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(String message) success,
required TResult Function(String message) error,
}) {
return error(message);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(String message)? success,
TResult? Function(String message)? error,
}) {
return error?.call(message);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? initial,
TResult Function()? loading,
TResult Function(String message)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (error != null) {
return error(message);
}
return orElse();
}
@override
@optionalTypeArgs
TResult map<TResult extends Object?>({
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 extends Object?>({
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 extends Object?>({
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 CreateTableState {
const factory _Error(final String message) = _$ErrorImpl;
String get message;
/// Create a copy of CreateTableState
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
_$$ErrorImplCopyWith<_$ErrorImpl> get copyWith =>
throw _privateConstructorUsedError;
}

View File

@ -3,9 +3,6 @@ part of 'create_table_bloc.dart';
@freezed
class CreateTableEvent with _$CreateTableEvent {
const factory CreateTableEvent.started() = _Started;
const factory CreateTableEvent.createTable({
required String tableName,
required int capacity,
required String location,
}) = _CreateTable;
const factory CreateTableEvent.createTable(
String tableName, Offset position) = _CreateTable;
}

View File

@ -7,5 +7,4 @@ class CreateTableState with _$CreateTableState {
const factory CreateTableState.loading() = _Loading;
// success
const factory CreateTableState.success(String message) = _Success;
const factory CreateTableState.error(String message) = _Error;
}

View File

@ -1,4 +1,3 @@
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';
@ -9,17 +8,11 @@ part 'get_table_state.dart';
part 'get_table_bloc.freezed.dart';
class GetTableBloc extends Bloc<GetTableEvent, GetTableState> {
final TableRemoteDataSource _tableRemoteDataSource;
GetTableBloc(this._tableRemoteDataSource) : super(GetTableState.initial()) {
GetTableBloc() : super(_Initial()) {
on<_GetTables>((event, emit) async {
emit(_Loading());
final tables = await _tableRemoteDataSource.getTable();
tables.fold(
(l) => emit(_Error(l)),
(r) => emit(
_Success(r.data!.tables!),
),
);
final tables = await ProductLocalDatasource.instance.getAllTable();
emit(_Success(tables));
});
}
}

View File

@ -294,7 +294,6 @@ mixin _$GetTableState {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -302,7 +301,6 @@ mixin _$GetTableState {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -310,7 +308,6 @@ mixin _$GetTableState {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) =>
throw _privateConstructorUsedError;
@ -319,7 +316,6 @@ mixin _$GetTableState {
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
@ -327,7 +323,6 @@ mixin _$GetTableState {
TResult? Function(_Initial value)? initial,
TResult? Function(_Loading value)? loading,
TResult? Function(_Success value)? success,
TResult? Function(_Error value)? error,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
@ -335,7 +330,6 @@ mixin _$GetTableState {
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;
@ -406,7 +400,6 @@ class _$InitialImpl implements _Initial {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return initial();
}
@ -417,7 +410,6 @@ class _$InitialImpl implements _Initial {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return initial?.call();
}
@ -428,7 +420,6 @@ class _$InitialImpl implements _Initial {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (initial != null) {
@ -443,7 +434,6 @@ 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);
}
@ -454,7 +444,6 @@ 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);
}
@ -465,7 +454,6 @@ 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) {
@ -523,7 +511,6 @@ class _$LoadingImpl implements _Loading {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return loading();
}
@ -534,7 +521,6 @@ class _$LoadingImpl implements _Loading {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return loading?.call();
}
@ -545,7 +531,6 @@ class _$LoadingImpl implements _Loading {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (loading != null) {
@ -560,7 +545,6 @@ 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);
}
@ -571,7 +555,6 @@ 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);
}
@ -582,7 +565,6 @@ 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) {
@ -673,7 +655,6 @@ class _$SuccessImpl implements _Success {
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return success(tables);
}
@ -684,7 +665,6 @@ class _$SuccessImpl implements _Success {
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return success?.call(tables);
}
@ -695,7 +675,6 @@ class _$SuccessImpl implements _Success {
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (success != null) {
@ -710,7 +689,6 @@ 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);
}
@ -721,7 +699,6 @@ 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);
}
@ -732,7 +709,6 @@ 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) {
@ -753,155 +729,3 @@ abstract class _Success implements GetTableState {
_$$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 _$GetTableStateCopyWithImpl<$Res, _$ErrorImpl>
implements _$$ErrorImplCopyWith<$Res> {
__$$ErrorImplCopyWithImpl(
_$ErrorImpl _value, $Res Function(_$ErrorImpl) _then)
: super(_value, _then);
/// Create a copy of GetTableState
/// 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 'GetTableState.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 GetTableState
/// 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<TResult extends Object?>({
required TResult Function() initial,
required TResult Function() loading,
required TResult Function(List<TableModel> tables) success,
required TResult Function(String message) error,
}) {
return error(message);
}
@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? initial,
TResult? Function()? loading,
TResult? Function(List<TableModel> tables)? success,
TResult? Function(String message)? error,
}) {
return error?.call(message);
}
@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? initial,
TResult Function()? loading,
TResult Function(List<TableModel> tables)? success,
TResult Function(String message)? error,
required TResult orElse(),
}) {
if (error != null) {
return error(message);
}
return orElse();
}
@override
@optionalTypeArgs
TResult map<TResult extends Object?>({
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 extends Object?>({
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 extends Object?>({
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 GetTableState {
const factory _Error(final String message) = _$ErrorImpl;
String get message;
/// Create a copy of GetTableState
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
_$$ErrorImplCopyWith<_$ErrorImpl> get copyWith =>
throw _privateConstructorUsedError;
}

View File

@ -5,5 +5,4 @@ class GetTableState with _$GetTableState {
const factory GetTableState.initial() = _Initial;
const factory GetTableState.loading() = _Loading;
const factory GetTableState.success(List<TableModel> tables) = _Success;
const factory GetTableState.error(String message) = _Error;
}

View File

@ -1,86 +0,0 @@
import 'package:enaklo_pos/core/components/buttons.dart';
import 'package:enaklo_pos/core/components/custom_modal_dialog.dart';
import 'package:enaklo_pos/core/components/custom_text_field.dart';
import 'package:enaklo_pos/core/components/flushbar.dart';
import 'package:enaklo_pos/core/components/spaces.dart';
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
import 'package:enaklo_pos/presentation/table/blocs/create_table/create_table_bloc.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class FormTableNewDialog extends StatefulWidget {
const FormTableNewDialog({super.key});
@override
State<FormTableNewDialog> createState() => _FormTableNewDialogState();
}
class _FormTableNewDialogState extends State<FormTableNewDialog> {
TextEditingController tableNameController = TextEditingController();
TextEditingController capacityController = TextEditingController();
TextEditingController locationController = TextEditingController();
@override
Widget build(BuildContext context) {
return CustomModalDialog(
title: 'Tambah Meja',
subtitle: 'Silahkan isi data meja',
contentPadding:
const EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0),
child: Column(
children: [
CustomTextField(
controller: tableNameController,
label: 'Nama Meja',
),
SpaceHeight(16),
CustomTextField(
controller: capacityController,
label: 'Kapasitas',
keyboardType: TextInputType.number,
),
SpaceHeight(16),
CustomTextField(
controller: locationController,
label: 'Lokasi',
),
SpaceHeight(24),
BlocListener<CreateTableBloc, CreateTableState>(
listener: (context, state) {
state.maybeWhen(
orElse: () {},
success: (message) {
context.pop();
AppFlushbar.showSuccess(context, message);
},
error: (message) {
AppFlushbar.showError(context, message);
},
);
},
child: BlocBuilder<CreateTableBloc, CreateTableState>(
builder: (context, state) {
return state.maybeWhen(
orElse: () => Button.filled(
onPressed: () {
context.read<CreateTableBloc>().add(
CreateTableEvent.createTable(
capacity: int.parse(capacityController.text),
location: locationController.text,
tableName: tableNameController.text,
),
);
},
label: 'Simpan',
),
loading: () =>
Center(child: const CircularProgressIndicator()),
);
},
),
),
],
),
);
}
}

View File

@ -1,12 +1,18 @@
import 'package:enaklo_pos/presentation/table/dialogs/form_table_new_dialog.dart';
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:enaklo_pos/core/components/components.dart';
import 'package:enaklo_pos/core/constants/colors.dart';
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
import 'package:enaklo_pos/data/models/response/table_model.dart';
import 'package:enaklo_pos/presentation/table/blocs/change_position_table/change_position_table_bloc.dart';
import 'package:enaklo_pos/presentation/table/blocs/create_table/create_table_bloc.dart';
import 'package:enaklo_pos/presentation/table/blocs/get_table/get_table_bloc.dart';
import 'package:enaklo_pos/presentation/table/widgets/table_widget.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart';
class TableManagementScreen extends StatefulWidget {
const TableManagementScreen({super.key});
@ -58,9 +64,55 @@ class _TableManagementScreenState extends State<TableManagementScreen> {
onPressed: () {
// show dialaog adn input table name
showDialog(
context: context,
builder: (context) => FormTableNewDialog(),
);
context: context,
builder: (context) {
return AlertDialog(
title: Text('Add Table'),
content: SingleChildScrollView(
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 180,
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
CustomTextField(
controller: tableNameController!,
label: 'Table Name',
),
SpaceHeight(16),
Row(
children: [
Expanded(
child: Button.outlined(
onPressed: () {
context.pop();
},
label: 'close',
),
),
SpaceWidth(16),
Expanded(
child: Button.filled(
onPressed: () {
context.read<CreateTableBloc>().add(
CreateTableEvent.createTable(
tableNameController!.text,
Offset(200, 200)));
context
.pop(); // close dialog after adding
},
label: 'Add',
),
),
],
)
],
),
),
),
actions: []);
});
},
),
),
@ -93,8 +145,8 @@ class _TableManagementScreenState extends State<TableManagementScreen> {
return Stack(
children: tables.map((table) {
return Positioned(
left: (table.positionX ?? 0) - 116,
top: (table.positionY ?? 0) - 80,
left: table.position.dx - 116,
top: table.position.dy - 80,
child: BlocListener<ChangePositionTableBloc,
ChangePositionTableState>(
listener: (context, state) {
@ -113,7 +165,7 @@ class _TableManagementScreenState extends State<TableManagementScreen> {
context
.read<ChangePositionTableBloc>()
.add(ChangePositionTableEvent.changePositionTable(
tableId: table.id ?? "",
tableId: table.id!,
position: details.offset,
));
},

View File

@ -51,18 +51,18 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
Future<void> _handlePostPaymentCleanup() async {
if (widget.table != null && widget.draftOrder?.id != null) {
// Update table status to available
// final newTable = TableModel(
// id: widget.table!.id,
// tableName: widget.table!.tableName,
// status: 'available',
// orderId: 0,
// paymentAmount: 0,
// startTime: DateTime.now().toIso8601String(),
// position: widget.table!.position,
// );
final newTable = TableModel(
id: widget.table!.id,
tableName: widget.table!.tableName,
status: 'available',
orderId: 0,
paymentAmount: 0,
startTime: DateTime.now().toIso8601String(),
position: widget.table!.position,
);
// Update table status
// await ProductLocalDatasource.instance.updateStatusTable(newTable);
await ProductLocalDatasource.instance.updateStatusTable(newTable);
// Remove draft order
await ProductLocalDatasource.instance
@ -965,25 +965,25 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
onPressed: () {
// Void the order
if (widget.table != null) {
// final newTable = TableModel(
// id: widget.table!.id,
// tableName: widget
// .table!.tableName,
// status: 'available',
// orderId: 0,
// paymentAmount: 0,
// startTime: DateTime.now()
// .toIso8601String(),
// position: widget
// .table!.position,
// );
// context
// .read<StatusTableBloc>()
// .add(
// StatusTableEvent
// .statusTabel(
// newTable),
// );
final newTable = TableModel(
id: widget.table!.id,
tableName: widget
.table!.tableName,
status: 'available',
orderId: 0,
paymentAmount: 0,
startTime: DateTime.now()
.toIso8601String(),
position: widget
.table!.position,
);
context
.read<StatusTableBloc>()
.add(
StatusTableEvent
.statusTabel(
newTable),
);
}
// Remove draft order from local storage
if (widget.draftOrder?.id !=
@ -1013,21 +1013,21 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
const SpaceWidth(8.0),
BlocListener<OrderBloc, OrderState>(
listener: (context, state) {
// final newTable = TableModel(
// id: widget.table!.id,
// tableName: widget.table!.tableName,
// status: 'available',
// orderId: 0,
// paymentAmount: 0,
// startTime:
// DateTime.now().toIso8601String(),
// position: widget.table!.position,
// );
// context.read<StatusTableBloc>().add(
// StatusTableEvent.statusTabel(
// newTable,
// ),
// );
final newTable = TableModel(
id: widget.table!.id,
tableName: widget.table!.tableName,
status: 'available',
orderId: 0,
paymentAmount: 0,
startTime:
DateTime.now().toIso8601String(),
position: widget.table!.position,
);
context.read<StatusTableBloc>().add(
StatusTableEvent.statusTabel(
newTable,
),
);
ProductLocalDatasource.instance
.removeDraftOrderById(
widget.draftOrder!.id!);
@ -1160,24 +1160,24 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
'uang tunai' ||
paymentMethodName ==
'cash payment') {
// context.read<OrderBloc>().add(
// OrderEvent.order(
// items,
// discount,
// discountAmountFinal,
// finalTax.toInt(),
// 0,
// totalPriceController.text
// .toIntegerFromText,
// customerController.text,
// widget.table?.id ?? 0,
// 'completed',
// 'paid',
// selectedPaymentMethod
// ?.name ??
// 'Cash',
// totalPriceFinal,
// orderType));
context.read<OrderBloc>().add(
OrderEvent.order(
items,
discount,
discountAmountFinal,
finalTax.toInt(),
0,
totalPriceController.text
.toIntegerFromText,
customerController.text,
widget.table?.id ?? 0,
'completed',
'paid',
selectedPaymentMethod
?.name ??
'Cash',
totalPriceFinal,
orderType));
await showDialog(
context: context,
@ -1202,24 +1202,24 @@ class _PaymentTablePageState extends State<PaymentTablePage> {
await _handlePostPaymentCleanup();
} else {
log("Processing non-cash payment: ${selectedPaymentMethod?.name}");
// context.read<OrderBloc>().add(
// OrderEvent.order(
// items,
// discount,
// discountAmountFinal,
// finalTax.toInt(),
// 0,
// totalPriceController.text
// .toIntegerFromText,
// customerController.text,
// widget.table?.id ?? 0,
// 'completed',
// 'paid',
// selectedPaymentMethod
// ?.name ??
// 'Unknown Payment Method',
// totalPriceFinal,
// orderType));
context.read<OrderBloc>().add(
OrderEvent.order(
items,
discount,
discountAmountFinal,
finalTax.toInt(),
0,
totalPriceController.text
.toIntegerFromText,
customerController.text,
widget.table?.id ?? 0,
'completed',
'paid',
selectedPaymentMethod
?.name ??
'Unknown Payment Method',
totalPriceFinal,
orderType));
await showDialog(
context: context,

View File

@ -39,8 +39,8 @@ class _CardTableWidgetState extends State<CardTableWidget> {
loadData() async {
if (widget.table.status != 'available') {
// data = await ProductLocalDatasource.instance
// .getDraftOrderById(widget.table.orderId);
data = await ProductLocalDatasource.instance
.getDraftOrderById(widget.table.orderId);
}
}
@ -70,10 +70,9 @@ class _CardTableWidgetState extends State<CardTableWidget> {
),
),
Text(
// widget.table.status == 'available'
// ? widget.table.status
// : "${widget.table.status} - ${DateTime.parse(widget.table.startTime).toFormattedTime()}",
"",
widget.table.status == 'available'
? widget.table.status
: "${widget.table.status} - ${DateTime.parse(widget.table.startTime).toFormattedTime()}",
style: TextStyle(
color: AppColors.black,
fontSize: 24,

View File

@ -51,8 +51,8 @@ class _TableWidgetState extends State<TableWidget> {
loadData() async {
if (widget.table.status != 'available') {
// data = await ProductLocalDatasource.instance
// .getDraftOrderById(widget.table.orderId);
data = await ProductLocalDatasource.instance
.getDraftOrderById(widget.table.orderId);
}
}
@ -136,33 +136,33 @@ class _TableWidgetState extends State<TableWidget> {
Expanded(
child: Button.filled(
onPressed: () {
// final newData =
// TableModel(
// id: widget.table.id,
// tableName:
// tableNameController!
// .text,
// status:
// widget.table.status,
// startTime: widget
// .table.startTime,
// orderId: widget
// .table.orderId,
// paymentAmount: widget
// .table
// .paymentAmount,
// position: widget
// .table.position,
// );
// context
// .read<
// UpdateTableBloc>()
// .add(
// UpdateTableEvent
// .updateTable(
// newData,
// ),
// );
final newData =
TableModel(
id: widget.table.id,
tableName:
tableNameController!
.text,
status:
widget.table.status,
startTime: widget
.table.startTime,
orderId: widget
.table.orderId,
paymentAmount: widget
.table
.paymentAmount,
position: widget
.table.position,
);
context
.read<
UpdateTableBloc>()
.add(
UpdateTableEvent
.updateTable(
newData,
),
);
context
.pop(); // close dialog after adding
},
@ -194,16 +194,16 @@ class _TableWidgetState extends State<TableWidget> {
color: widget.table.status == 'available'
? Colors.green
: Colors.red),
// widget.table.status == 'available'
// ? SizedBox.shrink()
// : _buildInfoRow(
// 'Start Time:',
// DateFormatter.formatDateTime2(
// widget.table.startTime)),
// widget.table.status == 'available'
// ? SizedBox.shrink()
// : _buildInfoRow(
// 'Order ID:', widget.table.orderId.toString()),
widget.table.status == 'available'
? SizedBox.shrink()
: _buildInfoRow(
'Start Time:',
DateFormatter.formatDateTime2(
widget.table.startTime)),
widget.table.status == 'available'
? SizedBox.shrink()
: _buildInfoRow(
'Order ID:', widget.table.orderId.toString()),
widget.table.status == 'available'
? SizedBox.shrink()
: SpaceHeight(16),
@ -267,29 +267,29 @@ class _TableWidgetState extends State<TableWidget> {
backgroundColor: AppColors.red,
),
onPressed: () {
// // Void the order
// final newTable = TableModel(
// id: widget.table.id,
// tableName:
// widget.table.tableName,
// status: 'available',
// orderId: 0,
// paymentAmount: 0,
// startTime: DateTime.now()
// .toIso8601String(),
// position: widget.table.position,
// );
// context
// .read<StatusTableBloc>()
// .add(
// StatusTableEvent
// .statusTabel(newTable),
// );
// // Remove draft order from local storage
// ProductLocalDatasource.instance
// .removeDraftOrderById(
// widget.table.orderId);
// log("Voided order for table: ${widget.table.tableName}");
// Void the order
final newTable = TableModel(
id: widget.table.id,
tableName:
widget.table.tableName,
status: 'available',
orderId: 0,
paymentAmount: 0,
startTime: DateTime.now()
.toIso8601String(),
position: widget.table.position,
);
context
.read<StatusTableBloc>()
.add(
StatusTableEvent
.statusTabel(newTable),
);
// Remove draft order from local storage
ProductLocalDatasource.instance
.removeDraftOrderById(
widget.table.orderId);
log("Voided order for table: ${widget.table.tableName}");
},
child: const Text(
"Ya, Batalkan",