public double Difference(DailyTimeSeriesApiModel dailyTimeSeries, DateTime start, DateTime end) { var startQuote = GetStartQuote(dailyTimeSeries, start); var endQuote = GetEndQuote(dailyTimeSeries, end); return(endQuote.Close - startQuote.Open); }
private DailyQuoteApiModel GetEndQuote(DailyTimeSeriesApiModel dailyTimeSeries, DateTime end) { var startQuote = dailyTimeSeries.DailyTimeSeries.SingleOrDefault(d => DateTime.Parse(d.Key) == end); if (startQuote.Value == null) { startQuote = dailyTimeSeries.DailyTimeSeries .Where(d => DateTime.Parse(d.Key) < end) .OrderBy(d => DateTime.Parse(d.Key)) .Last(); } return(startQuote.Value); }
private DailyQuoteApiModel GetStartQuote(DailyTimeSeriesApiModel dailyTimeSeries, DateTime start) { var startQuote = dailyTimeSeries.DailyTimeSeries.SingleOrDefault(d => DateTime.Parse(d.Key) == start); if (startQuote.Value == null) { startQuote = dailyTimeSeries.DailyTimeSeries .Where(d => DateTime.Parse(d.Key) > start) .OrderByDescending(d => DateTime.Parse(d.Key)) .First(); } return(startQuote.Value); }