import { Discount, Tariff, findDiscountFactor } from "@frontend/kitui" import { calcCart } from "./calcCart/calcCart" export function calcIndividualTariffPrices( tariff: Tariff, discounts: Discount[], purchasesAmount: number, currentTariffs: Tariff[], isUserNko?: boolean, ): { priceBeforeDiscounts: number; priceAfterDiscounts: number; } { const priceBeforeDiscounts = tariff.price || tariff.privileges.reduce((sum, privilege) => sum + privilege.amount * privilege.price, 0) let priceAfterDiscounts = priceBeforeDiscounts const cart = calcCart([...currentTariffs, tariff], discounts, purchasesAmount, isUserNko) // priceAfterDiscounts*=findDiscountFactor(cart.appliedLoyaltyDiscount) // priceAfterDiscounts*=findDiscountFactor(cart.appliedCartPurchasesDiscount) // cart.services.forEach(s => { // if (s.serviceKey === tariff.privileges[0].serviceKey) { // // priceAfterDiscounts *=findDiscountFactor(s.appliedServiceDiscount) // s.tariffs.forEach(t => { // if (t.id === tariff._id) { // const apl = t.privileges.reduce((a,n) => a+n.price*findDiscountFactor(n.appliedPrivilegeDiscount),0) // const sum = t.privileges.reduce((a,n)=>a+n.price,0) // console.log(sum,apl) // if (sum-apl) // priceAfterDiscounts*= (sum-apl)/sum // } // }) // } // }) // cart.allAppliedDiscounts.forEach((discount) => { // priceAfterDiscounts *= findDiscountFactor(discount) // }) priceAfterDiscounts = cart.priceAfterDiscounts return { priceBeforeDiscounts, priceAfterDiscounts } }