44 lines
1.1 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
} |