private List <UIElement> GetLayout() { List <UIElement> panel = new List <UIElement>(); Document doc = DocumentManager.CurrentDocument; panel.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0) }); YearwiseTable tableC6 = new YearwiseTable { SectionNumber = "1.6", Title = "当地政府债务" }; tableC6.Rows.Add("C6A", doc.City.C6A); tableC6.Rows.Add("C6B", doc.City.C6B); tableC6.Rows.Add("C6C", doc.City.C6C); tableC6.Rows.Add("C6D", doc.City.C6D); tableC6.Rows.Add("C6E", doc.City.C6E); tableC6.Rows.Add("C6F", doc.City.C6F); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, true))); tableC6.Render(); panel.Add(tableC6); YearwiseTable tableC7 = new YearwiseTable { SectionNumber = "1.7", Title = "当地政府支出" }; tableC7.Rows.Add("C7A", doc.City.C7A); tableC7.Rows.Add("C7B", doc.City.C7B); tableC7.Rows.Add("C7C", doc.City.C7C); tableC7.Rows.Add("C7D", doc.City.C7D); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, true))); tableC7.Render(); panel.Add(tableC7); YearwiseTable tableC8 = new YearwiseTable { SectionNumber = "1.8", Title = "总投资能力" }; tableC8.Rows.Add("C8A", doc.City.C8A); tableC8.Rows.Add("C8B", doc.City.C8B); tableC8.Rows.Add("C8C", doc.City.C8C); tableC8.Rows.Add("C8D", doc.City.C8D); tableC8.Rows.Add("C8E", doc.City.C8E); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, true))); tableC8.Render(); panel.Add(tableC8); panel.Add(new TextBlock { Text = "ASSUMPTIONS / 预算预测假设", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0) }); YearwiseTable tableC9 = new YearwiseTable { SectionNumber = "1.9", Title = "宏观经济数据假设" }; tableC9.Rows.Add("C9A", doc.City.C9A); tableC9.Rows.Add("C9B", doc.City.C9B); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, true))); tableC9.SetPercentageRows("C9A", "C9B"); tableC9.Render(); tableC9.UserInput += (sender, e) => UpdateData(); panel.Add(tableC9); PropertyTable tableC10 = new PropertyTable { SectionNumber = "1.10", Title = "商业贷款条件假设", Brush_TitleCell = Brushes.DarkRed, Margin = new Thickness(0, 0, 0, 0) }; tableC10.Rows.Add("C10A", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.Rows.Add("C10B", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.SetPercentageRows("C10A"); tableC10.Render(); tableC10.UserInput += (sender, e) => UpdateData(); panel.Add(tableC10); PropertyTable tableC11 = new PropertyTable { SectionNumber = "1.11", Title = "优惠贷款条件假设", Brush_TitleCell = Brushes.DarkRed }; tableC11.Rows.Add("C11A", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.Rows.Add("C11B", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.SetPercentageRows("C11A"); tableC11.Render(); tableC11.UserInput += (sender, e) => UpdateData(); panel.Add(tableC11); PropertyTable tableC12 = new PropertyTable { SectionNumber = "1.12", Title = "当地税收征管假设", Brush_TitleCell = Brushes.DarkRed }; tableC12.Rows.Add("C12A", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12B", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12C", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.SetPercentageRows("C12A", "C12C"); tableC12.Render(); tableC12.UserInput += (sender, e) => UpdateData(); panel.Add(tableC12); PropertyTable tableC13 = new PropertyTable { SectionNumber = "1.13", Title = "汇率假设(兑美元)", Brush_TitleCell = Brushes.DarkRed }; tableC13.Rows.Add("C13A", Tuple.Create <object, object>(doc.City, 0.0)); tableC13.Render(); tableC13.UserInput += (sender, e) => UpdateData(); panel.Add(tableC13); PropertyTable tableC14 = new PropertyTable { SectionNumber = "1.14", Title = "投资预算和债务清偿假设", Brush_TitleCell = Brushes.DarkRed }; tableC14.Rows.Add("C14A", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.Rows.Add("C14B", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.SetPercentageRows("C14A", "C14B"); tableC14.Render(); tableC14.UserInput += (sender, e) => UpdateData(); panel.Add(tableC14); PropertyTable tableC15 = new PropertyTable { SectionNumber = "1.15", Title = "收入预测假设", Brush_TitleCell = Brushes.DarkRed }; tableC15.Rows.Add("C15A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.SetPercentageTable(); tableC15.Render(); tableC15.UserInput += (sender, e) => UpdateData(); panel.Add(tableC15); PropertyTable tableC16 = new PropertyTable { SectionNumber = "1.16", Title = "支出预测假设", Brush_TitleCell = Brushes.DarkRed }; tableC16.Rows.Add("C16A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.SetPercentageTable(); tableC16.Render(); tableC16.UserInput += (sender, e) => UpdateData(); panel.Add(tableC16); //---------------------------------图表-------------------------------------------------- panel.Add(ChartHelper.GetChart("BUDGET FORECAST: REVENUES VERSUS EXPENDITURES", ChartHelper.ColumnSeries("经营性支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8B[x] }).ToArray(), Brushes.YellowGreen), ChartHelper.LineSeries("经营性收入", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8A[x] }).ToArray(), Brushes.Red))); panel.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0) }); Button btnFinancial = new Button { Content = "点击以转到城市评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left }; btnFinancial.Click += (sender, e) => NavigationManager.Navigate("CityPage.xaml"); panel.Add(btnFinancial); _tables = new List <IUpdateTable> { tableC6, tableC7, tableC8 }; return(panel); }
public List <StackPanel> GetPages() { List <StackPanel> panel = Enumerable.Range(0, 7).Select(x => new StackPanel()).ToList(); Document doc = DocumentManager.CurrentDocument; //panel[0].Children.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold }); YearwiseTable tableC6 = new YearwiseTable { SectionNumber = "1.6", Title = "当地政府收入 Local Government Revenues" }; tableC6.Rows.Add("C6A", doc.City.C6A); tableC6.Rows.Add("C6B", doc.City.C6B); tableC6.Rows.Add("C6C", doc.City.C6C); tableC6.Rows.Add("C6D", doc.City.C6D); tableC6.Rows.Add("C6E", doc.City.C6E); tableC6.Rows.Add("C6F", doc.City.C6F); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, true))); tableC6.Render(); panel[0].Children.Add(tableC6); YearwiseTable tableC7 = new YearwiseTable { SectionNumber = "1.7", Title = "当地政府支出 Local Government Expenditures" }; tableC7.Rows.Add("C7A", doc.City.C7A); tableC7.Rows.Add("C7B", doc.City.C7B); tableC7.Rows.Add("C7C", doc.City.C7C); tableC7.Rows.Add("C7D", doc.City.C7D); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, true))); tableC7.Render(); panel[0].Children.Add(tableC7); YearwiseTable tableC8 = new YearwiseTable { SectionNumber = "1.8", Title = "总投资能力 Summary Investment Capacity" }; tableC8.Rows.Add("C8A", doc.City.C8A); tableC8.Rows.Add("C8B", doc.City.C8B); tableC8.Rows.Add("C8C", doc.City.C8C); tableC8.Rows.Add("C8D", doc.City.C8D); tableC8.Rows.Add("C8E", doc.City.C8E); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, true))); tableC8.Render(); panel[1].Children.Add(tableC8); //panel[2].Children.Add(new TextBlock { Text = "ASSUMPTIONS / 预算预测假设", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold }); YearwiseTable tableC9 = new YearwiseTable { SectionNumber = "1.9", Title = "宏观经济数据假设 Assumptions Macro-Economic Data" }; tableC9.Rows.Add("C9A", doc.City.C9A); tableC9.Rows.Add("C9B", doc.City.C9B); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, true))); tableC9.SetPercentageRows("C9A", "C9B"); tableC9.Render(); tableC9.UserInput += (sender, e) => UpdateData(); panel[2].Children.Add(tableC9); PropertyTable tableC10 = new PropertyTable { SectionNumber = "1.10", Title = "商业贷款条件假设 Assumptions Loan Conditions Commercial Lending", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC10.Rows.Add("C10A", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.Rows.Add("C10B", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.SetPercentageRows("C10A"); tableC10.Render(); tableC10.UserInput += (sender, e) => UpdateData(); panel[2].Children.Add(tableC10); PropertyTable tableC11 = new PropertyTable { SectionNumber = "1.11", Title = "优惠贷款条件假设 Assumptions Loan Conditions Preferential Lending", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC11.Rows.Add("C11A", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.Rows.Add("C11B", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.SetPercentageRows("C11A"); tableC11.Render(); tableC11.UserInput += (sender, e) => UpdateData(); panel[2].Children.Add(tableC11); PropertyTable tableC12 = new PropertyTable { SectionNumber = "1.12", Title = "当地税收征管假设 Local Tax Collection", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC12.Rows.Add("C12A", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12B", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12C", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.SetPercentageRows("C12A", "C12C"); tableC12.Render(); tableC12.UserInput += (sender, e) => UpdateData(); panel[3].Children.Add(tableC12); PropertyTable tableC13 = new PropertyTable { SectionNumber = "1.13", Title = "汇率假设(兑美元) Assumptions Exchange Rate (to USD)", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC13.Rows.Add("C13A", Tuple.Create <object, object>(doc.City, 0.0)); tableC13.Render(); tableC13.UserInput += (sender, e) => UpdateData(); panel[3].Children.Add(tableC13); PropertyTable tableC14 = new PropertyTable { SectionNumber = "1.14", Title = "投资预算和债务清偿假设 Assumptions Investment Budget & Debt Service", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC14.Rows.Add("C14A", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.Rows.Add("C14B", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.SetPercentageRows("C14A", "C14B"); tableC14.Render(); tableC14.UserInput += (sender, e) => UpdateData(); panel[3].Children.Add(tableC14); PropertyTable tableC15 = new PropertyTable { SectionNumber = "1.15", Title = "收入预测假设 Assumptions Revenue Forecast", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC15.Rows.Add("C15A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.SetPercentageTable(); tableC15.Render(); tableC15.UserInput += (sender, e) => UpdateData(); panel[4].Children.Add(tableC15); PropertyTable tableC16 = new PropertyTable { SectionNumber = "1.16", Title = "支出预测假设 Assumptions Expenditure Forecast", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC16.Rows.Add("C16A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.SetPercentageTable(); tableC16.Render(); tableC16.UserInput += (sender, e) => UpdateData(); panel[4].Children.Add(tableC16); //---------------------------------图表-------------------------------------------------- panel[5].Children.Add(ChartHelper.GetChart("BUDGET FORECAST: REVENUES VERSUS EXPENDITURES", ChartHelper.ColumnSeries("经营性支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8B[x] }).ToArray(), Brushes.YellowGreen), ChartHelper.LineSeries("经营性收入", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8A[x] }).ToArray(), Brushes.Red))); panel[6].Children.Add(new TextBlock { Text = "CITY BASIC / 城市基本数据", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold }); Button btnFinancial = new Button { Content = "点击以转到城市评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left }; btnFinancial.Click += (sender, e) => NavigationManager.Navigate("RichCityPage.xaml"); panel[6].Children.Add(btnFinancial); //Button btnProj = new Button { Content = "点击以转到项目评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left }; //btnProj.Click += (sender, e) => NavigationManager.Navigate("RichCityPage.xaml"); //panel[6].Children.Add(btnProj); _tables = new List <IUpdateTable> { tableC6, tableC7, tableC8 }; return(panel); }