update order detail
This commit is contained in:
221
lib/features/orders/domain/entities/order_detail.dart
Normal file
221
lib/features/orders/domain/entities/order_detail.dart
Normal file
@@ -0,0 +1,221 @@
|
||||
/// Order Detail Entity
|
||||
///
|
||||
/// Complete order detail information including addresses, items, timeline, etc.
|
||||
library;
|
||||
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
/// Order Detail Entity
|
||||
class OrderDetail extends Equatable {
|
||||
const OrderDetail({
|
||||
required this.order,
|
||||
required this.billingAddress,
|
||||
required this.shippingAddress,
|
||||
required this.items,
|
||||
required this.paymentTerms,
|
||||
required this.timeline,
|
||||
required this.payments,
|
||||
required this.invoices,
|
||||
});
|
||||
|
||||
final OrderDetailInfo order;
|
||||
final AddressInfo billingAddress;
|
||||
final AddressInfo shippingAddress;
|
||||
final List<OrderItemDetail> items;
|
||||
final PaymentTermsInfo paymentTerms;
|
||||
final List<TimelineItem> timeline;
|
||||
final List<dynamic> payments; // Payment entities can be added later
|
||||
final List<dynamic> invoices; // Invoice entities can be added later
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
order,
|
||||
billingAddress,
|
||||
shippingAddress,
|
||||
items,
|
||||
paymentTerms,
|
||||
timeline,
|
||||
payments,
|
||||
invoices,
|
||||
];
|
||||
}
|
||||
|
||||
/// Order Detail Info
|
||||
class OrderDetailInfo extends Equatable {
|
||||
const OrderDetailInfo({
|
||||
required this.name,
|
||||
required this.customer,
|
||||
required this.transactionDate,
|
||||
required this.deliveryDate,
|
||||
required this.status,
|
||||
required this.statusColor,
|
||||
required this.totalQty,
|
||||
required this.total,
|
||||
required this.grandTotal,
|
||||
required this.totalRemaining,
|
||||
required this.description,
|
||||
required this.contractRequest,
|
||||
required this.ignorePricingRule,
|
||||
this.rejectionReason,
|
||||
required this.isAllowCancel,
|
||||
});
|
||||
|
||||
final String name;
|
||||
final String customer;
|
||||
final String transactionDate;
|
||||
final String deliveryDate;
|
||||
final String status;
|
||||
final String statusColor;
|
||||
final double totalQty;
|
||||
final double total;
|
||||
final double grandTotal;
|
||||
final double totalRemaining;
|
||||
final String description;
|
||||
final bool contractRequest;
|
||||
final bool ignorePricingRule;
|
||||
final String? rejectionReason;
|
||||
final bool isAllowCancel;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
name,
|
||||
customer,
|
||||
transactionDate,
|
||||
deliveryDate,
|
||||
status,
|
||||
statusColor,
|
||||
totalQty,
|
||||
total,
|
||||
grandTotal,
|
||||
totalRemaining,
|
||||
description,
|
||||
contractRequest,
|
||||
ignorePricingRule,
|
||||
rejectionReason,
|
||||
isAllowCancel,
|
||||
];
|
||||
}
|
||||
|
||||
/// Address Info
|
||||
class AddressInfo extends Equatable {
|
||||
const AddressInfo({
|
||||
required this.name,
|
||||
required this.addressTitle,
|
||||
required this.addressLine1,
|
||||
required this.phone,
|
||||
required this.email,
|
||||
this.fax,
|
||||
required this.taxCode,
|
||||
required this.cityCode,
|
||||
required this.wardCode,
|
||||
required this.cityName,
|
||||
required this.wardName,
|
||||
required this.isAllowEdit,
|
||||
});
|
||||
|
||||
final String name;
|
||||
final String addressTitle;
|
||||
final String addressLine1;
|
||||
final String phone;
|
||||
final String email;
|
||||
final String? fax;
|
||||
final String taxCode;
|
||||
final String cityCode;
|
||||
final String wardCode;
|
||||
final String cityName;
|
||||
final String wardName;
|
||||
final bool isAllowEdit;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
name,
|
||||
addressTitle,
|
||||
addressLine1,
|
||||
phone,
|
||||
email,
|
||||
fax,
|
||||
taxCode,
|
||||
cityCode,
|
||||
wardCode,
|
||||
cityName,
|
||||
wardName,
|
||||
isAllowEdit,
|
||||
];
|
||||
}
|
||||
|
||||
/// Order Item Detail
|
||||
class OrderItemDetail extends Equatable {
|
||||
const OrderItemDetail({
|
||||
required this.name,
|
||||
required this.itemCode,
|
||||
required this.itemName,
|
||||
required this.description,
|
||||
required this.qtyEntered,
|
||||
required this.qtyOfSm,
|
||||
required this.qtyOfNos,
|
||||
required this.conversionFactor,
|
||||
required this.price,
|
||||
required this.totalAmount,
|
||||
required this.deliveryDate,
|
||||
this.thumbnail,
|
||||
});
|
||||
|
||||
final String name;
|
||||
final String itemCode;
|
||||
final String itemName;
|
||||
final String description;
|
||||
final double qtyEntered;
|
||||
final double qtyOfSm;
|
||||
final double qtyOfNos;
|
||||
final double conversionFactor;
|
||||
final double price;
|
||||
final double totalAmount;
|
||||
final String deliveryDate;
|
||||
final String? thumbnail;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
name,
|
||||
itemCode,
|
||||
itemName,
|
||||
description,
|
||||
qtyEntered,
|
||||
qtyOfSm,
|
||||
qtyOfNos,
|
||||
conversionFactor,
|
||||
price,
|
||||
totalAmount,
|
||||
deliveryDate,
|
||||
thumbnail,
|
||||
];
|
||||
}
|
||||
|
||||
/// Payment Terms Info
|
||||
class PaymentTermsInfo extends Equatable {
|
||||
const PaymentTermsInfo({
|
||||
required this.name,
|
||||
required this.description,
|
||||
});
|
||||
|
||||
final String name;
|
||||
final String description;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [name, description];
|
||||
}
|
||||
|
||||
/// Timeline Item
|
||||
class TimelineItem extends Equatable {
|
||||
const TimelineItem({
|
||||
required this.label,
|
||||
this.value,
|
||||
required this.status,
|
||||
});
|
||||
|
||||
final String label;
|
||||
final String? value;
|
||||
final String status; // Success, Warning, Secondary, etc.
|
||||
|
||||
@override
|
||||
List<Object?> get props => [label, value, status];
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
library;
|
||||
|
||||
import 'package:worker/features/orders/domain/entities/order.dart';
|
||||
import 'package:worker/features/orders/domain/entities/order_detail.dart';
|
||||
import 'package:worker/features/orders/domain/entities/order_status.dart';
|
||||
import 'package:worker/features/orders/domain/entities/payment_term.dart';
|
||||
|
||||
@@ -15,6 +16,9 @@ abstract class OrderRepository {
|
||||
int limitPageLength = 0,
|
||||
});
|
||||
|
||||
/// Get order detail by ID
|
||||
Future<OrderDetail> getOrderDetail(String orderId);
|
||||
|
||||
/// Get list of available order statuses
|
||||
Future<List<OrderStatus>> getOrderStatusList();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user