private GraphXAxisRootDto GetRoot(DimensionTree allDimensionsTree, DimensionDto xDimension, Measure measure, IEnumerable <DimensionValueDto> filteredXValues, List <FlatDimensionDto> filters, DimensionValueDto xValue = null, DimensionDto legendDimension = null) { GraphXAxisRootDto xAxisRoot; if (legendDimension == null) { xAxisRoot = new DrilldownGraphXAxisRootDto { Id = xValue?.Id ?? 0, Name = xValue?.Value ?? string.Empty, XAxisLeaves = new List <GraphXAxisLeafDto>() }; var leaf = GetLeaf(allDimensionsTree, xDimension, xValue, measure, filters); xAxisRoot.XAxisLeaves.Add(leaf); } else { xAxisRoot = new GroupedGraphXAxisRootDto { Id = xValue?.Id ?? 0, Name = xValue?.Value ?? string.Empty, XAxisLeaves = new List <GraphXAxisLeafDto>() }; foreach (var dimValue in filteredXValues) { var leaf = GetLeaf(allDimensionsTree, xDimension, dimValue, measure, filters, legendDimension); xAxisRoot.XAxisLeaves.Add(leaf); } } return(xAxisRoot); }
private DrilldownSeriesViewModel GetSeries(DrilldownGraphXAxisRootDto root) { var rootXAxisLeaves = root.XAxisLeaves.Cast<DrilldownGraphXAxisLeafDto>().ToList(); var series = new DrilldownSeriesViewModel { Id = root.Name, Name = root.Name, Data = new DrilldownSeriesDataViewModel[rootXAxisLeaves.Count] }; for (int i = 0; i < rootXAxisLeaves.Count; i++) { series.Data[i] = new DrilldownSeriesDataViewModel { Drilldown = null, Name = rootXAxisLeaves[i].Name, Y = rootXAxisLeaves[i].Value }; } return series; }
public static DrilldownGraphDto GetDrilldownGraph() { var root1 = new DrilldownGraphXAxisRootDto { Name = "Bakery", XAxisLeaves = new List <GraphXAxisLeafDto> { new DrilldownGraphXAxisLeafDto { Name = "Bread", Value = 80 }, new DrilldownGraphXAxisLeafDto { Name = "Bun", Value = 150 }, } }; var root2 = new DrilldownGraphXAxisRootDto { Name = "Dairy", XAxisLeaves = new List <GraphXAxisLeafDto> { new DrilldownGraphXAxisLeafDto { Name = "Milk", Value = 50 } } }; return(new DrilldownGraphDto { Name = "Drilldown graph", Roots = new List <GraphXAxisRootDto> { root1, root2 } }); }
private GraphXAxisRootDto GetParentRoot(DimensionTree allDimensionsTree, TreeDimensionDto childDimension, Measure measure, DimensionValueDto xValue, List <FlatDimensionDto> filters, DimensionDto legendDimension = null) { GraphXAxisRootDto xAxisRoot; if (legendDimension == null) { xAxisRoot = new DrilldownGraphXAxisRootDto { Id = xValue.Id, Name = xValue.Value, XAxisLeaves = new List <GraphXAxisLeafDto>() }; } else { xAxisRoot = new GroupedGraphXAxisRootDto { Id = xValue.Id, Name = xValue.Value, XAxisLeaves = new List <GraphXAxisLeafDto>() }; } var parentDimension = allDimensionsTree.GetDimensionDto((int)childDimension.ParentId); var xDimValues = _querier.GetValuesOfDimension( parentDimension, new Column { Name = childDimension.IdName, Value = xValue.Id.ToString() }); var filteredValues = GetFilteredValues(allDimensionsTree, parentDimension, filters, xDimValues); foreach (var dimValue in filteredValues) { var leaf = GetLeaf(allDimensionsTree, allDimensionsTree.GetDimensionDto((int)childDimension.ParentId), dimValue, measure, filters, legendDimension); xAxisRoot.XAxisLeaves.Add(leaf); } return(xAxisRoot); }