SystemEntranceV2.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using ProjectManagementSystem.Common.Config;
  2. using ProjectManagementSystem.Common.Core;
  3. using ProjectManagementSystem.Common.TaskBookEvent;
  4. using ProjectManagementSystem.Common.TaskEvent;
  5. using ProjectManagementSystem.Language;
  6. using ProjectManagementSystem.WebApi.Service;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Diagnostics;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using System.Windows;
  14. namespace ProjectManagementSystemView.Entrance
  15. {
  16. public class SystemEntranceV2
  17. {
  18. public SystemEntranceV2()
  19. {
  20. if (ExcelConfig.Instance == null)
  21. {
  22. KillCurrentProcess(Langs.InitFailExcelConfig);
  23. return;
  24. }
  25. if (!SystemInitialize.InitDataSource())
  26. {
  27. KillCurrentProcess(Langs.InitFailDataSource);
  28. return;
  29. }
  30. //if (RouteCalled.Instance == null)
  31. //{
  32. // KillCurrentProcess(Langs.InitFailRouteCalled);
  33. // return;
  34. //}
  35. if (PlcControl.Instance == null)
  36. {
  37. KillCurrentProcess(Langs.InitFailPlcControl);
  38. return;
  39. }
  40. if (DeviceControl.Instance == null)
  41. {
  42. KillCurrentProcess(Langs.InitFailDeviceControl);
  43. return;
  44. }
  45. if (!WebApiServerHost.Instance.StartServer())
  46. {
  47. KillCurrentProcess(Langs.InitFailWebApi);
  48. return;
  49. }
  50. //if (Common.Tibco.TibcoConnect.Instance == null)
  51. //{
  52. // KillCurrentProcess(Langs.InitFailTibcoConnect);
  53. // return;
  54. //}
  55. TaskBookRegister taskBookRegister = new TaskBookRegister();
  56. Task.Factory.StartNew(() =>
  57. {
  58. SystemInitialize.SystemStarted();
  59. SystemInitialize.InitLocationXY();
  60. SystemInitialize.InitWMS();
  61. SystemInitialize.InitSWMS();
  62. SystemInitialize.InitWareHouse();
  63. SystemInitialize.InitOperate();
  64. SystemInitialize.InitAsyncBehavior();
  65. if (PackControlCrms.Instance == null)
  66. {
  67. KillCurrentProcess(Langs.InitFailPackControl);
  68. return;
  69. }
  70. var taskBehavior = TaskBehavior.Instance;
  71. var taskEvent = new CTaskEvent();
  72. });
  73. }
  74. private void KillCurrentProcess(string logContext)
  75. {
  76. MessageBox.Show(logContext);
  77. Application.Current.Shutdown();
  78. Process[] process = Process.GetProcesses();
  79. Process currentProcess = Process.GetCurrentProcess();
  80. for (int idx = 0; idx < process.Count(); idx++)
  81. {
  82. if (process[idx].ProcessName == currentProcess.ProcessName)
  83. {
  84. process[idx].Kill();
  85. }
  86. }
  87. return;
  88. }
  89. }
  90. }