import React, {Component} from 'react'; import {connect} from 'react-redux'; import { Col } from 'reactstrap'; import {coMarketTexts} from '../../../constants/coMarketConstants'; class PackagePrice extends Component { constructor(props) { super(props); this.getFinalPrice = this.getFinalPrice.bind(this); this.filterByAgreement = this.filterByAgreement.bind(this); } filterByAgreement(price) { return price.idPaymentType === this.props.selectedAgreement.idPaymentType; } getExtra(selected, priceType) { const extraPriceObj = selected.prices.find(this.filterByAgreement); const extraPrice = extraPriceObj ? extraPriceObj[priceType] : 0; return extraPrice; } getFinalPrice(selectedAgreement, selectedOptions, selectedAdditionals, priceType) { let price = selectedAgreement ? selectedAgreement[priceType] : 0; if(selectedAgreement && selectedOptions) { Object.keys(selectedOptions).forEach((idGroup) => { price += this.getExtra(selectedOptions[idGroup], priceType); }); } if(selectedAgreement && selectedAdditionals) { selectedAdditionals.forEach((additional) => { price += this.getExtra(additional, priceType); }); } return price; } getFormatedFixedPrice(selectedAgreement, selectedOptions, selectedAdditionals) { if (!selectedAgreement) { return '-'; } const finalPrice = this.getFinalPrice( selectedAgreement, selectedOptions, selectedAdditionals, 'fixedExtra'); return `${finalPrice.toLocaleString()} ${this.props.currency}` } getFormatedRecurrentPrice(selectedAgreement, selectedOptions, selectedAdditionals) { if (!selectedAgreement) { return '-'; } const recurrentExtra = this.getFinalPrice(selectedAgreement, selectedOptions, selectedAdditionals, 'recurentExtra'); const servicesExtra = this.getFinalPrice(selectedAgreement, selectedOptions, selectedAdditionals, 'servicesExtra'); return `${(recurrentExtra + servicesExtra).toLocaleString()} ${this.props.currency}` } render() { const {selectedAgreement, selectedOptions, selectedAdditionals} = this.props; return (