public GroupedChartViewModel Map(GroupedGraphDto graph)
 {
     var viewModel = new GroupedChartViewModel
     {
         Categories = new List<GroupedCategoryViewModel>(),
         ChartTitle = graph.Name,
         Series = new List<GroupedSeriesViewModel>()
     };
     viewModel.Categories.AddRange(GetCategories(graph.Roots));
     viewModel.Series.AddRange(GetSeries(graph.GetLegendValues().ToList()));
     return viewModel;
 }
Example #2
0
        public BrowseCubeViewModel ShowChart(int id, int selectedMeasureId, int xDimensionId, int legendDimensionId, bool group,
                                             List <FlatDimensionDto> filters, string chartText, bool requireDrilldownChart)
        {
            var dataset       = Data.GetDataset(id);
            var measure       = Data.GetMeasure(selectedMeasureId);
            var dimensionTree = _treeBuilder.ConvertToTree(id, true);
            GroupedChartViewModel   groupedChart   = null;
            DrilldownChartViewModel drilldownChart = null;

            if (legendDimensionId != 0 && xDimensionId != legendDimensionId)
            {
                groupedChart = GetGroupedChart(dimensionTree, dimensionTree.GetDimensionDto(xDimensionId),
                                               dimensionTree.GetDimensionDto(legendDimensionId), measure, filters, group);
            }
            if (legendDimensionId == 0)
            {
                drilldownChart = GetDrilldownChart(dimensionTree, dimensionTree.GetDimensionDto(xDimensionId), measure, filters, requireDrilldownChart);
            }
            if (xDimensionId == legendDimensionId)
            {
                drilldownChart = GetDrilldownChart(dimensionTree, dimensionTree.GetDimensionDto(xDimensionId), measure, filters, true);
            }
            var filterValues = GetFilterValues(id);

            return(new BrowseCubeViewModel
            {
                Dataset = _datasetMapper.Map(dataset, filterValues),
                GroupedChart = groupedChart,
                LegendDimensionId = legendDimensionId,
                SelectedMeasureId = selectedMeasureId,
                XDimensionId = xDimensionId,
                MeasureName = measure?.Name,
                ShouldChartBeDisplayed = true,
                DrilldownChart = drilldownChart,
                ChartText = chartText
            });
        }