SampleData.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using FastReport;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. namespace WpfDemo
  5. {
  6. internal static class SampleData
  7. {
  8. private static DataSet dataSet;
  9. private static List<Category> businessObject;
  10. private static void CreateDataSources()
  11. {
  12. dataSet = new DataSet();
  13. dataSet.ReadXml(Folders.DataFolder + "nwind.xml");
  14. businessObject = new List<Category>();
  15. Category category = new Category("Beverages", "Soft drinks, coffees, teas, beers");
  16. category.Products.Add(new Product("Chai", 18m));
  17. category.Products.Add(new Product("Chang", 19m));
  18. category.Products.Add(new Product("Ipoh coffee", 46m));
  19. businessObject.Add(category);
  20. category = new Category("Confections", "Desserts, candies, and sweet breads");
  21. category.Products.Add(new Product("Chocolade", 12.75m));
  22. category.Products.Add(new Product("Scottish Longbreads", 12.5m));
  23. category.Products.Add(new Product("Tarte au sucre", 49.3m));
  24. businessObject.Add(category);
  25. category = new Category("Seafood", "Seaweed and fish");
  26. category.Products.Add(new Product("Boston Crab Meat", 18.4m));
  27. category.Products.Add(new Product("Red caviar", 15m));
  28. businessObject.Add(category);
  29. }
  30. public static void RegisterData(Report report)
  31. {
  32. if (dataSet == null)
  33. CreateDataSources();
  34. report.RegisterData(dataSet, "NorthWind");
  35. report.RegisterData(businessObject, "Categories BusinessObject");
  36. }
  37. public class Category
  38. {
  39. private string name;
  40. private string description;
  41. private List<Product> products;
  42. public string Name
  43. {
  44. get { return name; }
  45. }
  46. public string Description
  47. {
  48. get { return description; }
  49. }
  50. public List<Product> Products
  51. {
  52. get { return products; }
  53. }
  54. public Category(string name, string description)
  55. {
  56. this.name = name;
  57. this.description = description;
  58. products = new List<Product>();
  59. }
  60. }
  61. public class Product
  62. {
  63. private string name;
  64. private decimal unitPrice;
  65. public string Name
  66. {
  67. get { return name; }
  68. }
  69. public decimal UnitPrice
  70. {
  71. get { return unitPrice; }
  72. }
  73. public Product(string name, decimal unitPrice)
  74. {
  75. this.name = name;
  76. this.unitPrice = unitPrice;
  77. }
  78. }
  79. }
  80. }