add shipments
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
import 'package:fcs/helpers/firebase_helper.dart';
|
||||
import 'package:path/path.dart' as Path;
|
||||
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:fcs/data/services/services.dart';
|
||||
@@ -31,10 +34,10 @@ class ShipmentModel extends BaseModel {
|
||||
|
||||
get menuSelectedIndex => _menuSelectedIndex;
|
||||
|
||||
initData(bool forCustomer) {
|
||||
initData(bool forCustomer, {bool myPickup = false}) {
|
||||
logout();
|
||||
_menuSelectedIndex = 1;
|
||||
_loadShipments(forCustomer);
|
||||
_loadShipments(forCustomer, myPickup);
|
||||
_delivered = _getDeliveredExample(forCustomer);
|
||||
_delivered.load();
|
||||
}
|
||||
@@ -80,7 +83,7 @@ class ShipmentModel extends BaseModel {
|
||||
if (isCustomer) {
|
||||
pageQuery = pageQuery.where("user_id", isEqualTo: user.id);
|
||||
}
|
||||
pageQuery = pageQuery.orderBy("current_status_date", descending: true);
|
||||
pageQuery = pageQuery.orderBy("status_date", descending: true);
|
||||
var paginator = new Paginator(pageQuery, rowPerLoad: 20, toObj: (data, id) {
|
||||
return Shipment.fromMap(data, id);
|
||||
});
|
||||
@@ -99,14 +102,14 @@ class ShipmentModel extends BaseModel {
|
||||
return Shipment(
|
||||
id: m.id,
|
||||
shipmentNumber: m.message,
|
||||
currentStatus: m.senderName,
|
||||
status: m.senderName,
|
||||
pickupDate: m.date,
|
||||
);
|
||||
});
|
||||
return paginator;
|
||||
}
|
||||
|
||||
Future<void> _loadShipments(bool forCustomer) async {
|
||||
Future<void> _loadShipments(bool forCustomer, bool myPickup) async {
|
||||
if (user == null) return;
|
||||
if (!forCustomer && !user.hasShipment()) return;
|
||||
String path = "/$shipments_collection";
|
||||
@@ -123,6 +126,10 @@ class ShipmentModel extends BaseModel {
|
||||
if (forCustomer) {
|
||||
q = q.where("user_id", isEqualTo: user.id);
|
||||
}
|
||||
if (myPickup) {
|
||||
q = q.where("pickup_user_id", isEqualTo: user.id);
|
||||
}
|
||||
q = q.orderBy("created_at", descending: true);
|
||||
|
||||
listener = q.snapshots().listen((QuerySnapshot snapshot) {
|
||||
_shipments.clear();
|
||||
@@ -175,4 +182,39 @@ class ShipmentModel extends BaseModel {
|
||||
Future<void> cancelShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.cancelShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> assignShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.assignShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> completeAssignShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.completeAssignShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> completePickupShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.completePickupShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> completePackShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.completePackShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> packShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.packShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> confirmShipment(Shipment shipment) async {
|
||||
// String path = Path.join(shipment_labels_files_path);
|
||||
// String url = await uploadStorage(path, file);
|
||||
// shipment.shipmentLabelUrl = url;
|
||||
return Services.instance.shipmentService.confirmShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> completeConfirmShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.completeConfirmShipment(shipment);
|
||||
}
|
||||
|
||||
Future<void> completeReceiveShipment(Shipment shipment) {
|
||||
return Services.instance.shipmentService.completeReceiveShipment(shipment);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user