mirror of
https://github.com/SoPat712/RUSwipeShare.git
synced 2025-08-21 19:08:46 -04:00
meetings update
This commit is contained in:
@@ -32,7 +32,7 @@ class Seller implements Comparable<Seller> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
int compareTo(Seller other) {
|
int compareTo(Seller other) {
|
||||||
return name.compareTo(other.name);
|
return price.compareTo(other.price);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,6 +44,18 @@ class Filter {
|
|||||||
Filter(this.locations, this.price, this.meetingTime);
|
Filter(this.locations, this.price, this.meetingTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<Seller> fetchNSellers(int n) {
|
||||||
|
List<Seller> sellers = List.empty(growable: true);
|
||||||
|
CollectionReference users = FirebaseFirestore.instance.collection('sellers');
|
||||||
|
users.get().then((value) => () {
|
||||||
|
for (var doc in value.docs) {
|
||||||
|
sellers.add(Seller(doc["name"], doc["uid"], doc["location"],
|
||||||
|
TimeRange(doc["start-time"], doc["end-time"]), doc["price"]));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return sellers;
|
||||||
|
}
|
||||||
|
|
||||||
Future<List<Seller>> getSellers(Filter filter) async {
|
Future<List<Seller>> getSellers(Filter filter) async {
|
||||||
CollectionReference users = FirebaseFirestore.instance.collection('sellers');
|
CollectionReference users = FirebaseFirestore.instance.collection('sellers');
|
||||||
List<Seller> sellers = List.empty(growable: true);
|
List<Seller> sellers = List.empty(growable: true);
|
||||||
@@ -55,9 +67,26 @@ Future<List<Seller>> getSellers(Filter filter) async {
|
|||||||
isLessThanOrEqualTo: filter.price?.high);
|
isLessThanOrEqualTo: filter.price?.high);
|
||||||
|
|
||||||
final QuerySnapshot snapshot = await query.get();
|
final QuerySnapshot snapshot = await query.get();
|
||||||
for (var doc in snapshot.docs) {
|
final startTime = filter.meetingTime?.endTime;
|
||||||
sellers.add(Seller(doc["name"], doc["uid"], doc["location"],
|
final endTime = filter.meetingTime?.startTime;
|
||||||
TimeRange(doc["start-time"], doc["end-time"]), doc["price"]));
|
|
||||||
|
if (startTime != null && endTime != null) {
|
||||||
|
var docs = snapshot.docs
|
||||||
|
.where((element) =>
|
||||||
|
startTime.compareTo(element["start-time"]) > 0 ||
|
||||||
|
element["start-time"] == (startTime))
|
||||||
|
.where((element) =>
|
||||||
|
endTime.compareTo(element["end-time"]) < 0 ||
|
||||||
|
element["end-time"] == (endTime));
|
||||||
|
for (var doc in docs) {
|
||||||
|
sellers.add(Seller(doc["name"], doc["uid"], doc["location"],
|
||||||
|
TimeRange(doc["start-time"], doc["end-time"]), doc["price"]));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (var doc in snapshot.docs) {
|
||||||
|
sellers.add(Seller(doc["name"], doc["uid"], doc["location"],
|
||||||
|
TimeRange(doc["start-time"], doc["end-time"]), doc["price"]));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return sellers;
|
return sellers;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user