2020-10-28 16:00:43 +03:00

31 lines
1.1 KiB
C#

using System;
using EvoCalculator.Core.Calculation.Post;
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
namespace EvoCalculator.Core.Calculation.Columns
{
public class NPVBonusExpensesColumn : BaseColumnWithSum
{
public NPVBonusExpensesColumn(int count) : base(count)
{
}
public void ComputeValues(PreparedValues preparedValues, PostValues postValues)
{
Values[1] = -1 * (preparedValues.RatBonus + preparedValues.NsBonus + preparedValues.NsibBonus) *
(decimal) (1 + preparedValues.SalaryRate) *
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate);
Values[2] = preparedValues.BonusFix > 0
? -preparedValues.BonusFix
: -1 * postValues.BonusBase.Value * Convert.ToDecimal(preparedValues.Bonus) *
(decimal) (1 + preparedValues.SalaryRate) *
(decimal) (1 + preparedValues.MarketRate + preparedValues.DistrictRate);
for (var i = 3; i < Values.Length; i++) Values[i] = 0;
Values[0] = Sum;
}
}
}