getVisibleCoupons function

List<OfferData> getVisibleCoupons(
  1. bool cartUser,
  2. ProductData currentService
)

Implementation

List<OfferData> getVisibleCoupons(bool cartUser, ProductData currentService){
  List<OfferData> ret = [];
  List<ProductData> _products = [];
  if (!cartUser)
    _products.add(currentService);
  else
    _products = cartGetProductsForBooking();

  for (var item in offers) {
    if (!item.visible)
      continue;
    if (item.expired.isBefore(DateTime.now())) // expired
      continue;
    if (!item.visibleForUser)
      continue;
    //
    item.state = "";
    for (var product in _products) {
      if (!_isCouponValid(item, product)) {
        item.state = _lastCouponTextError;
        break;
      }
    }
    ret.add(item);
  }

  return ret;
}