public TimeInvariantInputDTO(
     CL.FormulaHelper.DTOs.DistributionByResourceDTO p_InvestmentSpendByResource)
 {
     InvestmentSpendByResource = p_InvestmentSpendByResource;
 }
        public static double?[] GetResourceCurrencyUnitsFromForecast(int months, string resCode, CL.FormulaHelper.DTOs.DistributionByResourceDTO forecast)
        {
            var result = new double?[months];

            if (forecast.ResourceValues == null)
            {
                return(null);
            }

            var resourceSupplyValue = forecast.ResourceValues
                                      .FirstOrDefault(x => x.ResourceCode.Equals(resCode, StringComparison.OrdinalIgnoreCase));

            if (resourceSupplyValue != null)
            {
                foreach (var kvp in resourceSupplyValue.SpendValues)
                {
                    if (kvp.Key >= 0 && kvp.Key < months)
                    {
                        result[kvp.Key] = kvp.Value.CurrencyValue;
                    }
                }
            }

            return(result);
        }