Files
fcs/lib/domain/entities/invoice.dart

52 lines
1.2 KiB
Dart
Raw Normal View History

2020-06-02 14:56:51 +06:30
import 'package.dart';
2020-10-07 02:33:06 +06:30
import 'receipt.dart';
2020-06-02 14:56:51 +06:30
class Invoice {
2020-10-16 13:46:02 +06:30
String id;
2020-06-02 14:56:51 +06:30
String invoiceNumber;
DateTime invoiceDate;
String customerName;
String customerPhoneNumber;
double amount;
String discount;
String status;
String paymentAttachment;
List<Package> packages;
2020-06-24 16:06:15 +06:30
List<Receipt> receipts;
List<String> receiptPhotos;
2020-06-02 14:56:51 +06:30
Invoice(
2020-10-16 13:46:02 +06:30
{this.id,
this.invoiceNumber,
2020-06-02 14:56:51 +06:30
this.invoiceDate,
this.customerName,
this.customerPhoneNumber,
this.amount,
this.discount,
this.status,
this.paymentAttachment,
2020-06-24 16:06:15 +06:30
this.packages,
this.receiptPhotos,
this.receipts});
2020-06-03 00:42:31 +06:30
double get getAmount => packages.fold(0, (p, e) => (e.rate * e.weight) + p);
2020-10-16 13:46:02 +06:30
factory Invoice.fromMap(Map<String, dynamic> map, String docID) {
return Invoice(
id: docID,
invoiceNumber: map['invoice_number'],
invoiceDate: map['invoice_date'],
customerName: map['customer_name'],
customerPhoneNumber: map['phone_number'],
amount: map['amount'],
status: map['status'],
discount: map['discount'],
paymentAttachment: map['payment_attachment'],
packages: map['packages'],
receiptPhotos: map['receiptPhotos'],
receipts: map['receipts'],
);
}
2020-06-02 14:56:51 +06:30
}