add shipments

This commit is contained in:
Sai Naw Wun
2020-10-19 05:13:49 +06:30
parent 4f8bde40b0
commit c619ae3f22
57 changed files with 1886 additions and 724 deletions

View File

@@ -1,4 +1,5 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:fcs/domain/vo/delivery_address.dart';
import 'package:fcs/domain/vo/shipment_status.dart';
class Package {
@@ -13,7 +14,6 @@ class Package {
List<String> photoUrls;
List<ShipmentStatus> shipmentHistory;
String desc;
String deliveryAddressID;
String status;
String shipmentNumber;
@@ -35,6 +35,7 @@ class Package {
List<String> photos;
String remark;
DateTime arrivedDate;
DeliveryAddress deliveryAddress;
int get amount => rate != null && weight != null ? rate * weight : 0;
@@ -71,17 +72,19 @@ class Package {
this.currentStatusDate,
this.photoUrls,
this.desc,
this.deliveryAddressID,
this.deliveryAddress,
this.isChecked = false});
factory Package.fromMap(Map<String, dynamic> map, String docID) {
var _currentStatusDate = (map['current_status_date'] as Timestamp);
var _currentStatusDate = (map['status_date'] as Timestamp);
List<ShipmentStatus> _shipmentStatus = List.from(map['all_status'])
.map((e) => ShipmentStatus.fromMap(Map<String, dynamic>.from(e)))
.toList();
List<String> _photoUrls =
map['photo_urls'] == null ? [] : List.from(map['photo_urls']);
var da = map['delivery_address'];
var _da = da != null ? DeliveryAddress.fromMap(da, da["id"]) : null;
return Package(
id: docID,
@@ -93,8 +96,8 @@ class Package {
phoneNumber: map['phone_number'],
remark: map['remark'],
desc: map['desc'],
currentStatus: map['current_status'],
deliveryAddressID: map['delivery_address_id'],
currentStatus: map['status'],
deliveryAddress: _da,
currentStatusDate:
_currentStatusDate != null ? _currentStatusDate.toDate() : null,
photoUrls: _photoUrls,
@@ -118,8 +121,8 @@ class Package {
market: json['market'],
userName: json['user_name'],
phoneNumber: json['phone_number'],
currentStatus: json['current_status'],
currentStatusDate: DateTime.parse(json['current_status_date']));
currentStatus: json['status'],
currentStatusDate: DateTime.parse(json['status_date']));
}
@override