generateOptions method
Implementation
List<DropdownOption<int>> generateOptions() {
List<DropdownOption<int>> optionWithID = [];
for (var order in submitModel.orderLists) {
for (var delivery in order.orderDeliveries) {
Lookup? lookup = lookupDeliv?.firstWhereOrNull(
(e) => e.meaning == delivery.deliveryOptions,
);
if (lookup != null) {
optionWithID.add(
DropdownOption<int>(
"${lookup.shortDescription} - ${order.branchName}",
"${lookup.meaning}###${order.branchID}",
payload: order.branchID,
),
);
} else {
optionWithID.add(
DropdownOption<int>(
"${delivery.deliveryOptions} - ${order.branchName}",
"${delivery.deliveryOptions}###${order.branchID}",
payload: order.branchID,
),
);
}
}
}
final greetingCards = submitModel.greetingCardSummary;
optionWithID.removeWhere(
(opt) => greetingCards.any(
(greeting) =>
"${greeting.deliveryOptions}###${greeting.branchID}" == opt.value &&
greeting.branchID == opt.payload,
),
);
return optionWithID;
// final orderDeliveries = submitModel.orderDeliveries;
// List<String> listOptStr = [];
// for (var e in orderDeliveries) {
// listOptStr.add(e.deliveryOptions);
// }
// final greetingCards = submitModel.greetingCardSummary;
// List<String> listGreetingOpts = [];
// for (var e in greetingCards) {
// listGreetingOpts.add(e.deliveryOptions);
// }
// List<String> completeList = {...listOptStr, ...listGreetingOpts}.toList();
// completeList.removeWhere((i) => listGreetingOpts.any((j) => i == j));
// List<DropdownOption> option = [];
// for (var str in completeList) {
// Lookup? lookup = lookupDeliv?.firstWhereOrNull((e) => e.meaning == str);
// if (lookup != null) {
// option.add(DropdownOption(lookup.shortDescription, lookup.meaning));
// } else {
// option.add(DropdownOption(str, str));
// }
// }
// return option;
}