public static IYearSequence <T> Fill <T>(this IYearSequence <T> years, int from, int to, Func <T, T> fun) { var newYears = years.Copy(); foreach (var y in Enumerable.Range(from, to - from + 1)) { newYears[y] = fun(newYears[y]); } return(newYears); }
public IYearSequence <Money> CalculateContribution(IYearSequence <Money> salaryPrYear) { var min = Math.Min(salaryPrYear.Min, PercentOfSalary.Min); var max = Math.Max(salaryPrYear.Max, PercentOfSalary.Max); var r = new YearSequence <Money>(); var zero = new Percent(0m); foreach (var y in Enumerable.Range(min, max - min + 1)) { r[y] = salaryPrYear[y] * (PercentOfSalary[y] ?? zero); } return(r); }
public AbstractProduct(int id, IYearSequence <Money> max) { Id = id; Max = max; Takes = max.Copy(); }
// TODO: Input should be TimeSeries. public ContributionAsPercent(IYearSequence <Percent> percentOfSalary) { PercentOfSalary = percentOfSalary; }
// TODO: Input should be TimeSeries. public ContributionAsAmount(IYearSequence <Money> contirbution) { _contribution = contirbution; }
public IYearSequence <Money> CalculateContribution(IYearSequence <Money> salaryPrYear) { return(_contribution); }