|
|
|
|
@ -372,28 +372,28 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
|
|
|
|
|
|
if (appointmentStatusEnum == AppointmentStatusEnum.allAppointments) {
|
|
|
|
|
myFilteredAppointments = myAppointments;
|
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers();
|
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers(myFilteredAppointments);
|
|
|
|
|
notifyListeners();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
myFilteredAppointments = myAppointments.where((element) => element.appointmentStatusID! == appointmentStatusEnum.getIdFromAppointmentStatusEnum()).toList();
|
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers();
|
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers(myFilteredAppointments);
|
|
|
|
|
notifyListeners();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
findAppointmentsBasedOnCustomers() {
|
|
|
|
|
findAppointmentsBasedOnCustomers(List<AppointmentListModel> appointments) {
|
|
|
|
|
// Use a Set to ensure uniqueness of customerIDs
|
|
|
|
|
Set<int> uniqueCustomerIDs = <int>{};
|
|
|
|
|
|
|
|
|
|
// Extract unique customerIDs
|
|
|
|
|
for (var item in myFilteredAppointments) {
|
|
|
|
|
for (var item in appointments) {
|
|
|
|
|
uniqueCustomerIDs.add(item.customerID ?? 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Create a list of CustomerData instances
|
|
|
|
|
myFilteredAppointments2 = uniqueCustomerIDs.map((id) {
|
|
|
|
|
List<AppointmentListModel> list = myFilteredAppointments.where((item) => item.customerID == id).toList();
|
|
|
|
|
List<AppointmentListModel> list = appointments.where((item) => item.customerID == id).toList();
|
|
|
|
|
list.sort((a, b) => DateHelper.parseStringToDate(DateHelper.formatDateT(b.appointmentDate!))
|
|
|
|
|
.millisecondsSinceEpoch
|
|
|
|
|
.compareTo(DateHelper.parseStringToDate(DateHelper.formatDateT(a.appointmentDate!)).millisecondsSinceEpoch));
|
|
|
|
|
@ -1920,8 +1920,8 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
|
customerPhonesList: customerPhonesList,
|
|
|
|
|
deliveryTypeIdsList: customerDeliveryTypesList,
|
|
|
|
|
serviceProviderServiceIdsList: servicesIdsList,
|
|
|
|
|
fromDate: selectedDateForAppointments,
|
|
|
|
|
toDate: selectedDateForAppointments);
|
|
|
|
|
fromDate: '',
|
|
|
|
|
toDate: '');
|
|
|
|
|
|
|
|
|
|
log(" myFilteredAppointments : ${myFilteredAppointments.length}");
|
|
|
|
|
applyFilterOnAppointmentsVM(appointmentStatusEnum: AppointmentStatusEnum.allAppointments, isNeedCustomerFilter: true);
|
|
|
|
|
|