getDefaultPriceRule static method

PriceRuleEntity getDefaultPriceRule({
  1. List<Price>? prices,
  2. String? defaultPricingRule,
})

Implementation

static PriceRuleEntity getDefaultPriceRule({
  List<Price>? prices,
  String? defaultPricingRule,
}) {
  final List<PriceRuleEntity> priceEntities = PriceRulesMapper.fromResponse(
    response: prices,
  );

  final PriceRuleEntity emptyPrice = PriceRuleEntity(
    price: 0,
    priceVat: 0,
    priceVatWithoutDiscount: 0,
    promoDelta: 0,
    totalPrice: 0,
    totalPriceVat: 0,
    ruleId: '',
    ruleName: '',
  );

  if (priceEntities.isEmpty) {
    return emptyPrice;
  }

  if (defaultPricingRule == null || defaultPricingRule.isEmpty) {
    return priceEntities.first;
  }

  final PriceRuleEntity? price = priceEntities.firstWhereOrNull(
    (PriceRuleEntity priceEntity) => priceEntity.ruleId == defaultPricingRule,
  );

  return price ?? emptyPrice;
}