public UserControl CreateElement(ReportElementVM element)
        {
            UserControl returningUserControl = null;
            string      type = element.Type;

            if (type.Equals("table"))
            {
                TableUserControl table   = new TableUserControl();
                TableVM          tableVm = new TableVM(element);
                table.DataContext    = tableVm;
                returningUserControl = table;
            }
            else if (type.Equals("linechart"))
            {
                LineChartUserControl lineChart   = new LineChartUserControl();
                LineChartVM          lineChartVm = new LineChartVM(element);
                lineChart.DataContext = lineChartVm;
                returningUserControl  = lineChart;
            }
            else if (type.Equals("piechart"))
            {
                PieChartUserControl pieChart   = new PieChartUserControl();
                PieChartVM          pieChartVm = new PieChartVM(element);
                pieChart.DataContext = pieChartVm;
                returningUserControl = pieChart;
            }
            else if (type.Equals("barchart"))
            {
                BarChartUserControl barChart   = new BarChartUserControl();
                BarChartVM          barChartVm = new BarChartVM(element);
                barChart.DataContext = barChartVm;
                returningUserControl = barChart;
            }
            else if (type.Equals("image"))
            {
                ImageUserControl image   = new ImageUserControl();
                ImageVM          imageVm = new ImageVM(element);
                image.DataContext    = imageVm;
                returningUserControl = image;
            }
            else if (type.Equals("text"))
            {
                TextUserControl text   = new TextUserControl();
                TextVM          textVM = new TextVM(element);
                text.DataContext     = textVM;
                returningUserControl = text;
            }
            return(returningUserControl);
        }
Beispiel #2
0
        private void AddElementToReport()
        {
            string elementType = ElementTypes[SelectedElementIndex];
            var    element     = new ReportElementVM();

            element.Title   = "Leuke titel";
            element.Content = "Test description";
            element.Type    = elementType;

            if (elementType.Equals("table"))
            {
                element.Data = new Dictionary <string, List <string> >()
                {
                    ["id"] = new List <string>()
                    {
                        "1", "2"
                    }
                };
            }
            else if (elementType.Equals("linechart"))
            {
                element.Data = new Dictionary <string, Object>()
                {
                    ["xaxisName"]        = "Test xas",
                    ["yaxisName"]        = "Test yas",
                    ["seriescollection"] = new SeriesCollection
                    {
                        new LineSeries {
                            Title = "Bezoekers", Values = new ChartValues <int> {
                                40, 60, 50, 20, 40, 60
                            }
                        }
                    }
                };
            }
            else if (elementType.Equals("piechart"))
            {
                element.Data = new SeriesCollection
                {
                    new PieSeries
                    {
                        Title  = "Bier",
                        Values = new ChartValues <double> {
                            20
                        },
                        DataLabels = true,
                    },
                    new PieSeries
                    {
                        Title  = "Frisdrank",
                        Values = new ChartValues <double> {
                            12
                        },
                        DataLabels = true,
                    },
                    new PieSeries
                    {
                        Title  = "Cocktail",
                        Values = new ChartValues <double> {
                            8
                        },
                        DataLabels = true,
                    },
                    new PieSeries
                    {
                        Title  = "Wijn",
                        Values = new ChartValues <double> {
                            2
                        },
                        DataLabels = true,
                    }
                };
            }
            else if (elementType.Equals("barchart"))
            {
                element.Data = new Dictionary <string, Object>()
                {
                    ["xaxisName"] = "Place",
                    ["yaxisName"] = "Amount",
                    ["labels"]    = new List <string> {
                        "test1", "test2", "test3", "test4", "test5"
                    },
                    ["seriescollection"] = new SeriesCollection
                    {
                        new ColumnSeries {
                            Title = "testdata", Values = new ChartValues <int> {
                                10, 20, 30, 40, 50
                            }
                        },

                        new ColumnSeries {
                            Title = "testdata2", Values = new ChartValues <int> {
                                15, 25, 35, 45, 55
                            }
                        }
                    }
                };
            }
            else if (elementType.Equals("text"))
            {
                element.Data = new Dictionary <string, Object>()
                {
                    ["text"] = "test text smiley"
                };
            }
            else if (elementType.Equals("image"))
            {
                element.Data = new Dictionary <string, Object>()
                {
                    ["image"] = new byte[0]
                };
            }
            var userControl = _reportElementFactory.CreateElement(element);

            Report.ReportElementUserControlls.Add(userControl);
            GoBackToReport();
        }