using EvoCalculator.Core.Calculation.Post; using EvoCalculator.Core.Models.Calculation.Models.Prepared; namespace EvoCalculator.Core.Calculation.Columns { public class ExtraBonusSumColumn : BaseColumnWithSum { public ExtraBonusSumColumn(int count) : base(count) { } public void ComputeValues(PreparedValues preparedValues, CashflowMSFOColumn cashflowMsfoColumn, PostValues postValues) { Values[2] = cashflowMsfoColumn.Nominal >= preparedValues.IRR_MSFO_Plan ? -1 * postValues.BonusBase.Value * (decimal) (cashflowMsfoColumn.Nominal / preparedValues.IRR_MSFO_Plan - 1) * (decimal) preparedValues.ExtraBonus * (decimal) (1 + preparedValues.SalaryRate) * (decimal) preparedValues.MarketRate * (decimal) preparedValues.DistrictRate : 0; Values[0] = Sum; } } }