public ChartBase GetUsersStatus()
        {
            var query = _dashboardRepo.GetIqueryableUsers();

            var activeUsersCount   = query.Count(i => i.IsActive);
            var archivedUsersCount = query.Count(i => !i.IsActive);

            ChartBase chart = new DoughnutChart();

            chart.Data = new DataModel
            {
                Labels = new List <string> {
                    "Active users", "Archived users"
                },
                Datasets = new List <DataSetModel> {
                    new DataSetModel
                    {
                        Data = new List <int> {
                            activeUsersCount, archivedUsersCount
                        }
                    }
                }
            };

            return(chart);
        }
        public ChartBase GetUsersTypeCount()
        {
            var query = _dashboardRepo.GetIqueryableUsers();

            var officeManagers = query.Count(i => i.RoleID == RoleNames.OFFICE_MANAGER);
            var admins         = query.Count(i => i.RoleID == RoleNames.ADMIN);
            var agents         = query.Count(i => i.RoleID == RoleNames.AGENT);

            ChartBase chart = new DoughnutChart();

            chart.Data = new DataModel
            {
                Labels = new List <string> {
                    "Office manager", "Admin", "Agent"
                },
                Datasets = new List <DataSetModel> {
                    new DataSetModel
                    {
                        Data = new List <int> {
                            officeManagers, admins, agents
                        }
                    }
                }
            };

            return(chart);
        }
Пример #3
0
 protected override void Dispose(bool disposing)
 {
     doughnutChart.Dispose();
     DoughnutChart.Dispose();
     chart.Dispose();
     base.Dispose(disposing);
 }
        public ChartBase GetAgentsVerificationStatus()
        {
            var query = _dashboardRepo.GetIqueryableUsers();

            var verifiedAgents = query.Count
                                     (i => i.RoleID == RoleNames.AGENT && i.IsVerified);

            var pendingAgents = query.Count
                                    (i => i.RoleID == RoleNames.AGENT && !i.IsVerified);


            ChartBase chart = new DoughnutChart();

            chart.Data = new DataModel
            {
                Labels = new List <string> {
                    "Verified agents", "Pending agents"
                },
                Datasets = new List <DataSetModel> {
                    new DataSetModel
                    {
                        Data = new List <int> {
                            verifiedAgents, pendingAgents
                        }
                    }
                }
            };

            return(chart);
        }
Пример #5
0
        private DoughnutChart GetDoughnutChart()
        {
            var chart = new DoughnutChart();

            chart.ComplexData.Labels.AddRange(FakeComplexChartData.Labels);
            chart.ComplexData.Datasets.AddRange(FakeComplexChartData.Datasets);

            return(chart);
        }
Пример #6
0
        private void uiSymbolButton1_Click(object sender, System.EventArgs e)
        {
            var option = new UIDoughnutOption();

            //设置Title
            option.Title         = new UITitle();
            option.Title.Text    = "SunnyUI";
            option.Title.SubText = "Star";
            option.Title.Left    = UILeftAlignment.Center;

            //设置ToolTip
            option.ToolTip.Visible = true;

            //设置Legend
            option.Legend        = new UILegend();
            option.Legend.Orient = UIOrient.Vertical;
            option.Legend.Top    = UITopAlignment.Top;
            option.Legend.Left   = UILeftAlignment.Left;

            option.Legend.AddData("2020-05-19");
            option.Legend.AddData("2020-05-20");
            option.Legend.AddData("2020-05-21");
            option.Legend.AddData("2020-05-22");
            option.Legend.AddData("2020-05-23");
            option.Legend.AddData("2020-05-24");
            option.Legend.AddData("2020-05-25");

            //设置Series
            var series = new UIDoughnutSeries();

            series.Name           = "StarCount";
            series.Center         = new UICenter(50, 55);
            series.Radius.Inner   = 40;
            series.Radius.Outer   = 70;
            series.Label.Show     = true;
            series.Label.Position = UIPieSeriesLabelPosition.Center;

            //增加数据
            series.AddData("2020-05-19", 38);
            series.AddData("2020-05-20", 21);
            series.AddData("2020-05-21", 11);
            series.AddData("2020-05-22", 52);
            series.AddData("2020-05-23", 23);
            series.AddData("2020-05-24", 26);
            series.AddData("2020-05-25", 27);

            //增加Series
            option.Series.Clear();
            option.Series.Add(series);

            //设置Option
            DoughnutChart.SetOption(option);
            uiSymbolButton2.Enabled = true;
        }
Пример #7
0
        private void uiSymbolButton2_Click(object sender, System.EventArgs e)
        {
            Random random = new Random(DateTime.Now.Millisecond);

            DoughnutChart.Update("StarCount", "2020-05-19", random.Next(50));
            DoughnutChart.Update("StarCount", "2020-05-20", random.Next(50));
            DoughnutChart.Update("StarCount", "2020-05-21", random.Next(50));
            DoughnutChart.Update("StarCount", "2020-05-22", random.Next(50));
            DoughnutChart.Update("StarCount", "2020-05-23", random.Next(50));
            DoughnutChart.Update("StarCount", "2020-05-24", random.Next(50));
            DoughnutChart.Update("StarCount", "2020-05-25", random.Next(50));

            DoughnutChart.Refresh();
        }
Пример #8
0
 public static DoughnutChart GetAverageGamePriceDoughnut(IList<DetailedStatistics> detailedStatistics)
 {
     var allReports = detailedStatistics.SelectMany(s => s.Reports).ToList();
       var averagePrice = allReports.Sum(r => r.Cost) / allReports.Count();
       var averageGamePriceDoughnut = new DoughnutChart();
       averageGamePriceDoughnut.Data = new List<SimpleData>()
       {
     new SimpleData()
     {
       Value = averagePrice,
       Label = "Средняя цена за игру",
       Color = Colors.Blue
     }
       };
       averageGamePriceDoughnut.ChartConfiguration.Responsive = true;
       return averageGamePriceDoughnut;
 }
Пример #9
0
 public static DoughnutChart GetAverageGameDurationPriceDoughnut(IList<DetailedStatistics> detailedStatistics)
 {
     var allReports = detailedStatistics.SelectMany(s => s.Reports).ToList();
       var averageDuration = allReports.Sum(r => r.ElapsedTime) / allReports.Count();
       var averageGameDirationDoughnut = new DoughnutChart();
       averageGameDirationDoughnut.Data = new List<SimpleData>()
       {
     new SimpleData()
     {
       Value = averageDuration,
       Label = "Среднее время одной игры",
       Color = Colors.Blue
     }
       };
       averageGameDirationDoughnut.ChartConfiguration.Responsive = true;
       return averageGameDirationDoughnut;
 }
Пример #10
0
 public AnalysisPage()
 {
     this.InitializeComponent();
     this.navigationHelper            = new NavigationHelper(this);
     this.navigationHelper.LoadState += navigationHelper_LoadState;
     this.navigationHelper.SaveState += navigationHelper_SaveState;
     sexGraph       = AnalysisSexGraph;
     marriedGraph   = AnalysisMarriedGraph;
     cityGraph      = AnalysisCityGraph;
     bloodGraph     = AnalysisBloodGraph;
     diseaseGraph   = AnalysisDiseaseGraph;
     addictionGraph = AnalysisAddictionGraph;
     allergyGraph   = AnalysisAllergyGraph;
     operationGraph = AnalysisOperationGraph;
     vaccineGraph   = AnalysisVaccineGraph;
     settings       = new SettingsFlyout1();
 }
Пример #11
0
 private void ToggleCircle()
 {
     IsCricle = !IsCricle;
     DoughnutChart?.SetAngle(IsCricle ? 360 : 0);
     DoughnutChart?.Update("setAngle");
 }
Пример #12
0
 public void SetData(IEnumerable <ChartData> data)
 {
     DoughnutChart.SetData(data);
     HorizontalBarChart.SetData(data);
 }
Пример #13
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            var           Collection   = new ObservableCollection <ChartItem>();
            string        Title        = "";
            string        SubTitle     = "";
            List <double> listContents = new List <double>();
            List <string> names        = new List <string>();
            int           chartType    = 0;


            //get GH input data
            DA.GetDataList <double>("Data", listContents);
            DA.GetDataList <string>("Names", names);
            bool hasTitle    = DA.GetData <string>("Title", ref Title);
            bool hasSubTitle = DA.GetData <string>("SubTitle", ref SubTitle);

            DA.GetData <int>("Chart Type", ref chartType);
            ChartBase ChartElem = null;

            switch (chartType)
            {
            case 0:
                var pieElem = new PieChart();
                ChartElem = pieElem;
                break;

            case 1:
                var barElem = new ClusteredBarChart();
                ChartElem = barElem;
                break;

            case 2:
                var columnElem = new ClusteredColumnChart();
                ChartElem = columnElem;
                break;

            case 3:
                var doughnutElem = new DoughnutChart();
                ChartElem = doughnutElem;
                break;

            case 4:
                var gaugeElem = new RadialGaugeChart();
                ChartElem = gaugeElem;

                break;

            default:
                var defaultElem = new PieChart();
                ChartElem = defaultElem;
                break;
            }
            //Create the chart and give it a name

            ChartElem.ChartTitle           = Title;
            ChartElem.ChartTitleVisibility = hasTitle ? Visibility.Visible : Visibility.Collapsed;
            ChartElem.ChartSubTitle        = SubTitle;



            //package the data into a custom chart model and series
            SeriesModel vm = new SeriesModel(names.ToList(), listContents.ToList());

            ChartElem.DataContext = vm;


            ChartSeries series = new ChartSeries();

            series.SeriesTitle   = " ";
            series.DisplayMember = "Category";
            series.ValueMember   = "Number";

            //set up the data binding for the series - this is useful so it can be reset later without redrawing the whole Chart
            Binding seriesBinding = new Binding();

            seriesBinding.Source = vm;
            seriesBinding.Path   = new PropertyPath("Chart");
            BindingOperations.SetBinding(series, ChartSeries.ItemsSourceProperty, seriesBinding);



            // series.ItemsSource = vm.Chart;

            //Pass data to the chart
            ChartElem.Series.Add(series);
            ChartElem.ToolTipFormat = "{}Caption: {0}, Value: '{1}', Series: '{2}', Percentage: {3:P2}";


            ChartElem.MinWidth  = 10;
            ChartElem.MinHeight = 10;

            DA.SetData("Chart", new UIElement_Goo(ChartElem, "Chart Elem", InstanceGuid, DA.Iteration));
        }
Пример #14
0
 private async Task ToggleCircle()
 {
     IsCircle = !IsCircle;
     Angle    = IsCircle ? 360 : 0;
     await DoughnutChart.Update(ChartAction.SetAngle);
 }
 public OpenXmlPieChart(OpenXmlChartSpace chartSpace, DoughnutChart doughnutChart)
 {
     this.chartSpace    = chartSpace;
     this.doughnutChart = doughnutChart;
 }