CommandGroupFactory.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. namespace etoy
  2. {
  3. static class CommandGroupFactory
  4. {
  5. public static Command[] Create(Context context)
  6. {
  7. Command[] orderCommands;
  8. var type = (PipelineType)context.Option.PipelineType;
  9. switch (type)
  10. {
  11. case PipelineType.All:
  12. orderCommands = new Command[]
  13. {
  14. new CmdCheckEnvironment(),
  15. new CmdExcelToCsv(),
  16. new CmdReadKeyValueTable(),
  17. new CmdReadMetadataTable(),
  18. new CmdReadCommonTable(),
  19. new CmdKsonToJson(),
  20. new CmdCheckDataIntegrity(),
  21. new CmdGenerateVersionCode(),
  22. new CmdExportClientCode(),
  23. new CmdExportBytesDatabase(),
  24. //TODO 服务端
  25. new CmdExportServerCode(),
  26. new CmdExportJsonDatabase(),
  27. };
  28. break;
  29. case PipelineType.Client:
  30. orderCommands = new Command[]
  31. {
  32. new CmdCheckEnvironment(),
  33. new CmdExcelToCsv(),
  34. new CmdReadKeyValueTable(),
  35. new CmdReadMetadataTable(),
  36. new CmdReadCommonTable(),
  37. new CmdKsonToJson(),
  38. new CmdCheckDataIntegrity(),
  39. new CmdGenerateVersionCode(),
  40. new CmdExportClientCode(),
  41. new CmdExportBytesDatabase(),
  42. };
  43. break;
  44. case PipelineType.Server:
  45. orderCommands = new Command[]
  46. {
  47. new CmdCheckEnvironment(),
  48. new CmdExcelToCsv(),
  49. new CmdReadKeyValueTable(),
  50. new CmdReadMetadataTable(),
  51. new CmdReadCommonTable(),
  52. new CmdKsonToJson(),
  53. new CmdCheckDataIntegrity(),
  54. new CmdGenerateVersionCode(),
  55. //TODO 服务端
  56. new CmdExportServerCode(),
  57. new CmdExportJsonDatabase(),
  58. };
  59. break;
  60. //case PipelineType.Excel2Csv:
  61. // orderCommands = new Command[]
  62. // {
  63. // new CmdExcelToCsv(),
  64. // new CmdReadKeyValueTable(),
  65. // new CmdReadMetadataTable(),
  66. // new CmdReadCommonTable(),
  67. // new CmdKsonToJson(),
  68. // new CmdCheckDataIntegrity()
  69. // };
  70. // break;
  71. //case PipelineType.Csv2Final:
  72. // orderCommands = new Command[]
  73. // {
  74. // new CmdCheckEnvironment(),
  75. // new CmdReadKeyValueTable(),
  76. // new CmdReadMetadataTable(),
  77. // new CmdReadCommonTable(),
  78. // new CmdKsonToJson(),
  79. // new CmdCheckDataIntegrity(),
  80. // new CmdGenerateVersionCode(),
  81. // new CmdExportClientCode(),
  82. // new CmdExportBytesDatabase(),
  83. // };
  84. // break;
  85. default:
  86. orderCommands = Array.Empty<Command>();
  87. break;
  88. }
  89. foreach (var command in orderCommands)
  90. if (command is IContextSetter setter)
  91. setter.SetContext(context);
  92. return orderCommands;
  93. }
  94. }
  95. }