30 lines
944 B
C#
30 lines
944 B
C#
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
|
|
|
namespace EvoCalculator.Core.Calculation.Columns
|
|
{
|
|
public class SumWithVATColumn : BaseColumnWithSum
|
|
{
|
|
public SumWithVATColumn(int count) : base(count)
|
|
{
|
|
}
|
|
|
|
private void PostCheck()
|
|
{
|
|
new CheckTools<decimal>().CheckColumnForZeroValue(Values);
|
|
}
|
|
|
|
public void ComputeValues(Constants.Calculation constants, SumColumn sumColumn, PreparedValues preparedValues)
|
|
{
|
|
Values[0] = 0;
|
|
Values[1] = preparedValues.FirstPaymentWithNdsAbs > 0
|
|
? preparedValues.FirstPaymentWithNdsAbs
|
|
: (decimal) (1 + constants.VatValue) * sumColumn.Values[1];
|
|
for (var i = 2; i < Values.Length; i++)
|
|
Values[i] = (decimal) (1 + constants.VatValue) * sumColumn.Values[i];
|
|
|
|
Values[0] = Sum;
|
|
|
|
PostCheck();
|
|
}
|
|
}
|
|
} |