コード例 #1
0
        public static Report FastestGrowingCountries()
        {
            var dc       = new DataContext();
            var data     = new Dictionary <string, GrowthItem>();
            var src      = Pecunia.Services.GdpDataProvider.GetData();
            var lastYear = src.Max(a => a.Year);

            foreach (var item in src)
            {
                GrowthItem i;
                if (!data.TryGetValue(item.Country, out i))
                {
                    data.Add(item.Country, i = new GrowthItem {
                        Country = item.Country
                    });
                }
                i.Process(lastYear, item);
            }

            var res = data.Values.ToArray();

            dc.AddTable("data", res);

            var table = TableGenerator.GetTable(typeof(GrowthItem), "data");

            table.Columns.Last().SortIndex     = 0;
            table.Columns.Last().SortDirection = SortDirection.Descending;
            for (var i = 0; i < 5; i++)
            {
                table.Columns[i + 2].HeaderText            = (lastYear - 4 + i).ToString();
                table.Columns[i + 2].ConditionalFormatting = ConditionalFormatters.PercentChange;
            }

            var flow = new Flow {
                Orientation = FlowOrientation.Vertical
            };

            flow.Add(table);

            return(Report.CreateReport(flow, dc));
        }
コード例 #2
0
        public static Report FastestGrowingCountries()
        {
            var dc = new DataContext();
            var data = new Dictionary<string, GrowthItem>();
            var src = Pecunia.Services.GdpDataProvider.GetData();
            var lastYear = src.Max(a => a.Year);
            foreach (var item in src)
            {
                GrowthItem i;
                if (!data.TryGetValue(item.Country, out i))
                    data.Add(item.Country, i = new GrowthItem { Country = item.Country });
                i.Process(lastYear, item);
            }

            var res = data.Values.ToArray();
            dc.AddTable("data", res);

            var table = TableGenerator.GetTable(typeof(GrowthItem), "data");
            table.Columns.Last().SortIndex = 0;
            table.Columns.Last().SortDirection = SortDirection.Descending;
            for (var i = 0; i < 5; i++)
            {
                table.Columns[i + 2].HeaderText = (lastYear - 4 + i).ToString();
                table.Columns[i + 2].ConditionalFormatting = ConditionalFormatters.PercentChange;
            }

            var flow = new Flow { Orientation = FlowOrientation.Vertical };
            flow.Add(table);

            return Report.CreateReport(flow, dc);
        }