Exemple #1
0
        //
        private async void RefreshChartData()
        {
            KanbanReportGetResponse reportGetResponse = await ClientHelper.ExecuteAsync <KanbanReportGetResponse>((IRequest <KanbanReportGetResponse>) new KanbanReportGetRequest());

            if (reportGetResponse.IsError)
            {
                return;
            }
            this.kanbanSettingModel           = reportGetResponse.KanbanSetting;
            this.productionChart.SeriesColors = new Color[1]
            {
                Color.FromRgb(120, 225, 0)
            }.ToColorsCollection();
            CartesianChart   cartesianChart1   = this.productionChart;
            SeriesCollection seriesCollection1 = new SeriesCollection();
            LineSeries       lineSeries        = new LineSeries();
            string           str1 = "";

            lineSeries.Title = str1;
            ChartValues <int> chartValues1 = new ChartValues <int>(reportGetResponse.ProductionReportData.Select <TextValueModel <int>, int>(m => m.Value));

            lineSeries.Values = (IChartValues)chartValues1;
            int num1 = 1;

            lineSeries.DataLabels = num1 != 0;
            seriesCollection1.Add((ISeriesView)lineSeries);
            string[] array1 = reportGetResponse.ProductionReportData.Select <TextValueModel <int>, string>(m => m.Text).ToArray <string>();
            var      data1  = new
            {
                ProductionSeries    = seriesCollection1,
                ProductionLabels    = array1,
                ProductionFormatter = (Func <int, string>)(value => value.ToString() + "PPM")
            };

            cartesianChart1.DataContext          = data1;
            this.excellentRateChart.SeriesColors = new Color[2]
            {
                Color.FromRgb(32, 226, 64),
                Color.FromRgb(253, 194, 11)
            }.ToColorsCollection();
            CartesianChart   cartesianChart2   = this.excellentRateChart;
            SeriesCollection seriesCollection2 = new SeriesCollection();
            ColumnSeries     columnSeries      = new ColumnSeries();
            string           str2 = "";

            columnSeries.Title = str2;
            ChartValues <double> chartValues2 = new ChartValues <double>(reportGetResponse.ExcellentRateReportData.Select <TextValueModel <double>, double>(m => m.Value));

            columnSeries.Values = (IChartValues)chartValues2;
            int num2 = 0;

            columnSeries.DataLabels = num2 != 0;
            seriesCollection2.Add((ISeriesView)columnSeries);
            string[] array2 = reportGetResponse.ExcellentRateReportData.Select <TextValueModel <double>, string>(m => m.Text).ToArray <string>();
            var      data2  = new { ExcellentRateSeries = seriesCollection2, ExcellentRateLabels = array2, ExcellentRateFormatter = (Func <double, string>)(value => value.ToString("N2")) };

            cartesianChart2.DataContext = data2;
            Func <ChartPoint, string> func = chartPoint => string.Format("{0} ({1:P})", chartPoint.Y, chartPoint.Participation);
            SeriesCollection          seriesCollection3 = new SeriesCollection();

            foreach (TextValueModel <int> textValueModel in (IEnumerable <TextValueModel <int> >)reportGetResponse.AlarmReportData)
            {
                PieSeries pieSeries1 = new PieSeries();
                pieSeries1.Title      = textValueModel.Text;
                pieSeries1.LabelPoint = func;
                PieSeries         pieSeries2   = pieSeries1;
                ChartValues <int> chartValues3 = new ChartValues <int>();
                int num3 = textValueModel.Value;
                chartValues3.Add(num3);
                pieSeries2.Values     = (IChartValues)chartValues3;
                pieSeries1.DataLabels = true;
                seriesCollection3.Add((ISeriesView)pieSeries1);
            }
            this.alarmChart.SeriesColors    = App.SeriesColors;
            this.alarmChart.Series          = seriesCollection3;
            this.refreshStateTimer.Interval = new TimeSpan(0, 0, this.kanbanSettingModel.RefreshInterval);
        }
Exemple #2
0
 private void LoadModel()
 {
     this.model       = (LocalApi.Execute(new KanbanSettingGetRequest())).KanbanSetting;
     this.DataContext = this.model;
 }