generateOptions method

List<DropdownOption<int>> generateOptions()

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;
}