olegstankoptev

Untitled

Oct 24th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.14 KB | None | 0 0
  1.  
  2. class FactResellerSales
  3. {
  4. public int ProductKey;
  5. public int OrderDateKey;
  6. public int ResellerKey;
  7. public int EmployeeKey;
  8. public int PromotionKey;
  9. public int CurrencyKey;
  10. public int SalesTerritoryKey;
  11. public string SalesOrderNumber;
  12. public byte SalesOrderLineNumber;
  13. public short OrderQuantity;
  14. public string CarrierTrackingNumber;
  15. public string CustomerPONumber;
  16. }
  17.  
  18. class DimProduct
  19. {
  20. public int ProductKey;
  21. public string ProductAlternateKey;
  22. public string EnglishProductName;
  23. public string Color;
  24. public short SafetyStockLevel;
  25. public short ReorderPoint;
  26. public string SizeRange;
  27. public int DaysToManufacture;
  28. public string StartDate;
  29. }
  30.  
  31. class DimReseller
  32. {
  33. public int ResellerKey;
  34. public string ResellerAlternateKey;
  35. public string Phone;
  36. public string BusinessType;
  37. public string ResellerName;
  38. public int NumberEmployees;
  39. public string OrderFrequency;
  40. public string ProductLine;
  41. public string AddressLine1;
  42. public string BankName;
  43. public int YearOpened;
  44. }
  45.  
  46. class DimCurrency
  47. {
  48. public int CurrencyKey;
  49. public string CurrencyAlternateKey;
  50. public string CurrencyName;
  51. }
  52.  
  53. class DimPromotion
  54. {
  55. public int PromotionKey;
  56. public int PromotionAlternateKey;
  57. public string EnglishPromotionName;
  58. public string EnglishPromotionType;
  59. public string EnglishPromotionCategory;
  60. public string StartDate;
  61. public string EndDate;
  62. public int MinQty;
  63. }
  64.  
  65. class DimSalesTerritory
  66. {
  67. public int SalesTerritoryKey;
  68. public int SalesTerritoryAlternateKey;
  69. public string SalesTerritoryRegion;
  70. public string SalesTerritoryCountry;
  71. public string SalesTerritoryGroup;
  72. }
  73.  
  74. class DimEmployee
  75. {
  76. public int EmployeeKey;
  77. public string FirstName;
  78. public string LastName;
  79. public string Title;
  80. public string BirthDate;
  81. public string LoginID;
  82. public string EmailAddress;
  83. public string Phone;
  84. public string MaritalStatus;
  85. public string Gender;
  86. public byte PayFrequency;
  87. public short VacationHours;
  88. public short SickLeaveHours;
  89. public string DepartmentName;
  90. public string StartDate;
  91. }
  92.  
  93. class DimDate
  94. {
  95. public int DateKey;
  96. public string FullDateAlternateKey;
  97. public byte DayNumberOfWeek;
  98. public string EnglishDayNameOfWeek;
  99. public byte DayNumberOfMonth;
  100. public short DayNumberOfYear;
  101. public byte WeekNumberOfYear;
  102. public string EnglishMonthName;
  103. public byte MonthNumberOfYear;
  104. public byte CalendarQuarter;
  105. public short CalendarYear;
  106. public byte CalendarSemester;
  107. public byte FiscalQuarter;
  108. public short FiscalYear;
  109. public byte FiscalSemester;
  110. }
  111.  
  112. // var output = new List<string>();
  113. //
  114. // var random = new Random();
  115. //
  116. // var factClass = typeof(FactResellerSales);
  117. // var dimClasses = from t in Assembly.GetExecutingAssembly().GetTypes()
  118. // where t.IsClass && t.Namespace == "KoptevOleg_197" && t.Name.StartsWith("Dim")
  119. // select t;
  120. //
  121. // var amountOfColumns = random.Next(6) + 1;
  122. // var columnNamesOutput = new StringBuilder();
  123. // var columnNames = factClass.GetFields();
  124. // for (int i = 0; i < amountOfColumns; i++)
  125. // {
  126. // var itemId = random.Next(columnNames.Length);
  127. // columnNamesOutput.Append("FactResellerSales." + columnNames[itemId].Name);
  128. // if (i < amountOfColumns - 1)
  129. // columnNamesOutput.Append(",");
  130. // }
  131. // output.Add(columnNamesOutput.ToString());
  132. //
  133. // var amountOfPredicates = random.Next(2, 8);
  134. // output.Add(amountOfPredicates.ToString());
  135. // var predicates = new string[amountOfPredicates];
  136. // for (int i = 0; i < amountOfPredicates; i++)
  137. // {
  138. // var classIndex = random.Next(dimClasses.Count() + 1);
  139. // string className = "";
  140. // FieldInfo[] fields;
  141. // if (classIndex == 0)
  142. // {
  143. // className = "FactResellerSales";
  144. // fields = typeof(FactResellerSales).GetFields();
  145. // }
  146. // else
  147. // {
  148. // className = dimClasses.ElementAt(classIndex - 1).Name;
  149. // fields = dimClasses.ElementAt(classIndex - 1).GetFields();
  150. // }
  151. // var fieldIndex = random.Next(fields.Length);
  152. // var field = fields[fieldIndex];
  153. // var fieldName = className + "." + field.Name;
  154. // predicates[i] = fieldName;
  155. //
  156. // string[] signs;
  157. //
  158. // if (field.FieldType == typeof(string))
  159. // {
  160. // signs = new[] {"=", "<>"};
  161. // }
  162. // else
  163. // {
  164. // signs = new[] {"=", "<>", "<=", ">=", "<", ">"};
  165. // }
  166. //
  167. // var signIndex = random.Next(signs.Length);
  168. //
  169. // predicates[i] += " " + signs[signIndex] + " ";
  170. //
  171. // if (field.FieldType == typeof(string))
  172. // {
  173. // predicates[i] += "''";
  174. // }
  175. // }
  176. // foreach (var line in predicates)
  177. // output.Add(line);
  178. // Console.WriteLine(string.Join("\n", output));
  179. // File.WriteAllLines("var_1_test/my_input/test5.txt", output);
Add Comment
Please, Sign In to add comment