31 lines
1.1 KiB
C#
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) preparedValues.MarketRate * (decimal) preparedValues.DistrictRate;
|
|
|
|
Values[2] = preparedValues.BonusFix > 0
|
|
? -preparedValues.BonusFix
|
|
: -1 * postValues.BonusBase.Value * Convert.ToDecimal(preparedValues.Bonus) *
|
|
(decimal) (1 + preparedValues.SalaryRate) *
|
|
(decimal) preparedValues.MarketRate * (decimal) preparedValues.DistrictRate;
|
|
|
|
|
|
for (var i = 3; i < Values.Length; i++) Values[i] = 0;
|
|
|
|
Values[0] = Sum;
|
|
}
|
|
}
|
|
} |