feat: Implement order details retrieval for pre-filling new order forms for reordering.
This commit is contained in:
@@ -42,6 +42,7 @@ export 'src/entities/orders/permanent_order.dart';
|
||||
export 'src/entities/orders/permanent_order_position.dart';
|
||||
export 'src/entities/orders/order_type.dart';
|
||||
export 'src/entities/orders/order_item.dart';
|
||||
export 'src/entities/orders/reorder_data.dart';
|
||||
|
||||
// Skills & Certs
|
||||
export 'src/entities/skills/skill.dart';
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'one_time_order.dart';
|
||||
import 'order_type.dart';
|
||||
|
||||
/// Represents the full details of an order retrieved for reordering.
|
||||
class ReorderData extends Equatable {
|
||||
const ReorderData({
|
||||
required this.orderId,
|
||||
required this.orderType,
|
||||
required this.eventName,
|
||||
required this.vendorId,
|
||||
required this.hub,
|
||||
required this.positions,
|
||||
this.date,
|
||||
this.startDate,
|
||||
this.endDate,
|
||||
this.recurringDays = const <String>[],
|
||||
this.permanentDays = const <String>[],
|
||||
});
|
||||
|
||||
final String orderId;
|
||||
final OrderType orderType;
|
||||
final String eventName;
|
||||
final String? vendorId;
|
||||
final OneTimeOrderHubDetails hub;
|
||||
final List<ReorderPosition> positions;
|
||||
|
||||
// One-time specific
|
||||
final DateTime? date;
|
||||
|
||||
// Recurring/Permanent specific
|
||||
final DateTime? startDate;
|
||||
final DateTime? endDate;
|
||||
final List<String> recurringDays;
|
||||
final List<String> permanentDays;
|
||||
|
||||
@override
|
||||
List<Object?> get props => <Object?>[
|
||||
orderId,
|
||||
orderType,
|
||||
eventName,
|
||||
vendorId,
|
||||
hub,
|
||||
positions,
|
||||
date,
|
||||
startDate,
|
||||
endDate,
|
||||
recurringDays,
|
||||
permanentDays,
|
||||
];
|
||||
}
|
||||
|
||||
class ReorderPosition extends Equatable {
|
||||
const ReorderPosition({
|
||||
required this.roleId,
|
||||
required this.count,
|
||||
required this.startTime,
|
||||
required this.endTime,
|
||||
this.lunchBreak = 'NO_BREAK',
|
||||
});
|
||||
|
||||
final String roleId;
|
||||
final int count;
|
||||
final String startTime;
|
||||
final String endTime;
|
||||
final String lunchBreak;
|
||||
|
||||
@override
|
||||
List<Object?> get props => <Object?>[
|
||||
roleId,
|
||||
count,
|
||||
startTime,
|
||||
endTime,
|
||||
lunchBreak,
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user