//TODO: BuildSeries2 does the series building for a non bubble chart. Refactor so that its modular for all chart types. private IEnumerable <VfChartSeries> BuildSeriesArrayForBubbleChart() { var aggregate = EpmChartAggregateType.Sum; var hasZAxis = !PropChartZaxisField.Contains("None Selected"); var hasZAxisColor = !PropBubbleChartColorField.Contains("None Selected"); var zAxisFieldName = hasZAxis ? PropChartZaxisField : ""; var bubbleChartColumnMapping = GetBubbleChartColumnMappings(); var currentList = SPContext.Current.Web.Lists[PropChartSelectedList]; SPField xAxisField = null; SPField yAxisField = null; SPField zAxisField = null; if (currentList != null) { xAxisField = currentList.Fields.GetFieldByInternalName(PropChartXaxisField); yAxisField = currentList.Fields.GetFieldByInternalName(PropChartYaxisField); zAxisField = currentList.Fields.GetFieldByInternalName(PropChartZaxisField); } var epmChartDataSeriesList = new EpmChartDataSeriesList(dtSPSiteDataQueryData, aggregate, xAxisField, yAxisField, zAxisField, hasZAxis, hasZAxisColor, bubbleChartColumnMapping); return(EpmChartSeriesToVisifireChartSeriesMapper.GetVisifireChartSeries(epmChartDataSeriesList)); }
private bool ShouldShowLegend() { if (IsBubbleChart() && PropBubbleChartColorField != null && PropBubbleChartColorField.Contains("None Selected")) { return(false); } return(PropChartShowLegend); }
private BubbleChartAxisToColumnMapping GetBubbleChartColumnMappings() { //TODO: I know this is a disgusting algorithm. It was done in haste to accomodate the bubble chart needing 4 axis when all 4 may not be present in the chart data (i.e. several axis use the same column) var mappings = new BubbleChartAxisToColumnMapping(); var numOfColumns = 1; mappings.XaxisColumnIndex = 0; if (PropChartYaxisField.ToLower().Trim() == PropChartXaxisField.ToLower().Trim()) { mappings.YaxisColumnIndex = mappings.XaxisColumnIndex; } else { mappings.YaxisColumnIndex = 1; numOfColumns++; } if (PropChartZaxisField.ToLower().Trim() == PropChartXaxisField.ToLower().Trim()) { mappings.ZaxisColumnIndex = mappings.XaxisColumnIndex; } else if (PropChartZaxisField.ToLower().Trim() == PropChartYaxisField.ToLower().Trim()) { mappings.ZaxisColumnIndex = mappings.YaxisColumnIndex; } else { mappings.ZaxisColumnIndex = numOfColumns; numOfColumns++; } if (PropBubbleChartColorField.ToLower().Trim() == PropChartXaxisField.ToLower().Trim()) { mappings.ZaxisColorColumnIndex = mappings.XaxisColumnIndex; } else if (PropBubbleChartColorField.ToLower().Trim() == PropChartYaxisField.ToLower().Trim()) { mappings.ZaxisColorColumnIndex = mappings.YaxisColumnIndex; } else if (PropBubbleChartColorField.ToLower().Trim() == PropChartZaxisField.ToLower().Trim()) { mappings.ZaxisColorColumnIndex = mappings.ZaxisColumnIndex; } else { mappings.ZaxisColorColumnIndex = numOfColumns; } return(mappings); }