2020-10-23 14:10:57 +03:00

44 lines
1.1 KiB
C#

using System;
using EvoCalculator.Core.FinanceFormulas;
using EvoCalculator.Core.Models.Calculation.Models;
namespace EvoCalculator.Core.Calculation.Columns
{
public class BaseColumnWithXNPV : BaseColumn<double>
{
private readonly double rate;
public BaseColumnWithXNPV(int count, DateTempColumn dateTempColumn, double rate) : base(count)
{
Dates = dateTempColumn.Values;
this.rate = rate;
}
private DateTime[] Dates { get; }
private Flow[] Flows
{
get
{
var flows = new Flow[Values.Length];
for (var i = 0; i < Values.Length; i++)
flows[i] = new Flow
{
Date = Dates[i],
Value = Values[i]
};
return flows;
}
}
public double XNPV
{
get
{
var XNPV = new XNPV(Flows, rate);
return XNPV.GetResult();
}
}
}
}