update pickup
This commit is contained in:
@@ -1,13 +1,10 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:fcs/data/services/services.dart';
|
||||
import 'package:fcs/domain/constants.dart';
|
||||
import 'package:fcs/domain/entities/package.dart';
|
||||
import 'package:fcs/domain/entities/pickup.dart';
|
||||
import 'package:fcs/domain/entities/processing.dart';
|
||||
import 'package:fcs/helpers/firebase_helper.dart';
|
||||
import 'package:fcs/pages/main/model/base_model.dart';
|
||||
import 'package:fcs/pagination/paginator_listener.dart';
|
||||
@@ -17,22 +14,7 @@ import 'package:path/path.dart' as Path;
|
||||
class PickupModel extends BaseModel {
|
||||
final log = Logger('PickupModel');
|
||||
|
||||
StreamSubscription<QuerySnapshot>? listener;
|
||||
|
||||
PaginatorListener<Package>? pickups;
|
||||
|
||||
int _menuSelectedIndex = 1;
|
||||
|
||||
set menuSelectedIndex(int index) {
|
||||
_menuSelectedIndex = index;
|
||||
|
||||
// _loadPackages(_menuSelectedIndex == 2);
|
||||
// _loadCustomerPackages(_menuSelectedIndex == 2);
|
||||
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
int get menuSelectedIndex => _menuSelectedIndex;
|
||||
PaginatorListener<Pickup>? pickups;
|
||||
|
||||
void initUser(user) {
|
||||
super.initUser(user);
|
||||
@@ -44,13 +26,34 @@ class PickupModel extends BaseModel {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _initData() async {}
|
||||
Future<void> _initData() async {
|
||||
logout();
|
||||
pickups = PaginatorListener<Pickup>((data, id) => Pickup.fromMap(data, id),
|
||||
onChange: () {
|
||||
notifyListeners();
|
||||
}, rowPerLoad: 30, insertNewByListener: true);
|
||||
_loadPickups();
|
||||
}
|
||||
|
||||
@override
|
||||
logout() async {
|
||||
if (listener != null) await listener!.cancel();
|
||||
if (pickups != null) pickups!.close();
|
||||
// pickups = [];
|
||||
}
|
||||
|
||||
Future<void> _loadPickups() async {
|
||||
if (user == null) return;
|
||||
String path = "/$pickup_collection";
|
||||
|
||||
try {
|
||||
Query listenerQuery = FirebaseFirestore.instance.collection(path);
|
||||
Query pageQuery = FirebaseFirestore.instance
|
||||
.collection(path)
|
||||
.orderBy("update_time", descending: true);
|
||||
|
||||
pickups!.refresh(listeningQuery: listenerQuery, pageQuery: pageQuery);
|
||||
} catch (e) {
|
||||
log.warning("Error!! $e");
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> complete(
|
||||
@@ -82,4 +85,27 @@ class PickupModel extends BaseModel {
|
||||
}
|
||||
return deleteStorageFromUrls(deletedUrls);
|
||||
}
|
||||
|
||||
Future<Pickup?> getPickup(String id) async {
|
||||
if (user == null) return null;
|
||||
String path = "/$pickup_collection";
|
||||
try {
|
||||
DocumentSnapshot snap =
|
||||
await FirebaseFirestore.instance.collection("$path").doc(id).get();
|
||||
if (snap.exists) {
|
||||
var package =
|
||||
Pickup.fromMap(snap.data() as Map<String, dynamic>, snap.id);
|
||||
return package;
|
||||
}
|
||||
} catch (e) {
|
||||
log.warning("Error!! $e");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Future<List<Pickup>> searchPickup(String term) async {
|
||||
Future<List<Pickup>> pickups =
|
||||
Services.instance.pickupService.searchPickup(term);
|
||||
return pickups;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user