Beispiel #1
0
        public async void GetF101_top_n(string d1, string d2, int n)
        {
            var ch = Grid_F101_actives_page.Children.ToList();

            foreach (var p in ch)
            {
                Grid_F101_actives_page.Children.RemoveAt(Grid_F101_actives_page.Children.IndexOf(p));
            }



            int i = 0;

            GetF101_actives_top_n_List = await myAPI.GetF101_actives_top_n(d2, d1, n);

            List <F101_actives_top_n> bank_names = GetF101_actives_top_n_List
                                                   .GroupBy(a => a.ShortName)
                                                   .Select(g => g.First())
                                                   .ToList();

            // Grid_F101_actives_page.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });
            // Grid_F101_actives_page.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) });


            foreach (var x in bank_names)
            {
                List <F101_actives_top_n> L = GetF101_actives_top_n_List
                                              .Where(a => a.ShortName.Equals(x.ShortName))
                                              .ToList();

                float   prev_val = 0;
                SKColor cl       = SKColor.Empty;
                var     entries1 = new List <Microcharts.Entry>();

                foreach (var p in L)
                {
                    if (p.Val >= prev_val)
                    {
                        cl = SKColor.Parse("#A8E10C");
                    }
                    else
                    {
                        cl = SKColor.Parse("#FF5765");
                    }
                    var entry = new Entry(p.Val)
                    {
                        //Label = p.Label,
                        //ValueLabel = p.Val.ToString(),

                        Color = cl,
                    };
                    prev_val = p.Val;
                    entries1.Add(entry);
                }



                var chart1 = new LineChart()
                {
                    Entries = entries1, BackgroundColor = SKColor.Empty
                };

                var chartView = new ChartView
                {
                    Chart = chart1
                };

                Grid_F101_actives_page.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(100)
                });

                var _1 = new Label {
                    Text = "№ " + (i + 1).ToString() + (char)10 + x.ShortName + (char)10 + Math.Round(prev_val / 1000000000, 1).ToString() + " млрд.руб."
                };
                Grid_F101_actives_page.Children.Add(_1, 0, i);
                Grid_F101_actives_page.Children.Add(chartView, 1, i);

                i++;
            }



            Grid_F101_actives_page.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(100)
            });
            Grid_F101_actives_page.Children.Add(_picker1, 0, i + 1);
        }