コード例 #1
0
def getTotalPurchaseInfo(purchaseItems):
    totalPrice = ITEM_PRICE_EMPTY
    numSelectedItems = 0
    numApplyingItems = 0
    isAtLeastOneItemFromInventory = False
    isAtLeastOneItemDismantled = False
    minPriceItem = Money()
    for purchaseItem in purchaseItems:
        if not purchaseItem.isDismantling:
            numApplyingItems += 1
        else:
            isAtLeastOneItemDismantled = True
        if purchaseItem.selected and not purchaseItem.isDismantling:
            numSelectedItems += 1
            if not purchaseItem.isFromInventory:
                totalPrice += purchaseItem.price
                if not minPriceItem.isDefined(
                ) or purchaseItem.price.price < minPriceItem:
                    minPriceItem = purchaseItem.price.price
            else:
                isAtLeastOneItemFromInventory = True

    return CartInfo(totalPrice, numSelectedItems, numApplyingItems,
                    len(purchaseItems), minPriceItem,
                    isAtLeastOneItemFromInventory, isAtLeastOneItemDismantled)