private void CalculateResourceChartPlotModel() { lock (m_Lock) { ResourceSeriesSetModel resourceSeriesSet = ResourceSeriesSet; PlotModel plotModel = null; if (resourceSeriesSet != null) { IEnumerable <ResourceSeriesModel> combinedResourceSeries = resourceSeriesSet.Combined.OrderBy(x => x.DisplayOrder); if (combinedResourceSeries.Any()) { plotModel = new PlotModel(); plotModel.Axes.Add(BuildResourceChartXAxis()); plotModel.Axes.Add(BuildResourceChartYAxis()); plotModel.LegendPlacement = LegendPlacement.Outside; plotModel.LegendPosition = LegendPosition.RightMiddle; var total = new List <int>(); m_DateTimeCalculator.UseBusinessDays(UseBusinessDays); foreach (ResourceSeriesModel series in combinedResourceSeries) { if (series != null) { var areaSeries = new AreaSeries { //Smooth = false, StrokeThickness = 0.0, Title = series.Title, Color = OxyColor.FromArgb( series.ColorFormat.A, series.ColorFormat.R, series.ColorFormat.G, series.ColorFormat.B) }; for (int i = 0; i < series.Values.Count; i++) { int j = series.Values[i]; if (i >= total.Count) { total.Add(0); } areaSeries.Points.Add( new DataPoint(ChartHelper.CalculateChartTimeXValue(i, ShowDates, ProjectStart, m_DateTimeCalculator), total[i])); total[i] += j; areaSeries.Points2.Add( new DataPoint(ChartHelper.CalculateChartTimeXValue(i, ShowDates, ProjectStart, m_DateTimeCalculator), total[i])); } plotModel.Series.Add(areaSeries); } } } } ResourceChartPlotModel = plotModel; } RaiseCanExecuteChangedAllCommands(); }