Startup.cs 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using EInk.TaskThread;
  2. using Microsoft.AspNetCore.Builder;
  3. using SqlSugar;
  4. using EInk.Models;
  5. using EInk.Tools;
  6. namespace EInk.Lot2Lot3
  7. {
  8. public class ReadLot2Filter : IStartupFilter
  9. {
  10. private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig()
  11. {
  12. DbType = DbType.PostgreSQL,
  13. ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("TargetDbConnectionString"),
  14. IsAutoCloseConnection = true
  15. });
  16. private readonly ISqlSugarClient _local_db = new SqlSugarClient(new ConnectionConfig()
  17. {
  18. DbType = DbType.PostgreSQL,
  19. ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("LocalDbConnectionString"),
  20. IsAutoCloseConnection = true
  21. });
  22. public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
  23. {
  24. _local_db.DbMaintenance.CreateDatabase();
  25. _local_db.CodeFirst.InitTables(typeof(DefectModel));
  26. _local_db.CodeFirst.InitTables(typeof(Lot2Lot3Model));
  27. _local_db.CodeFirst.InitTables(typeof(ColourCastModel));
  28. ReadLot2Thread readLot2 = new ReadLot2Thread(_db, _local_db);
  29. if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("ReadLot2Thread") =="on")
  30. {
  31. readLot2.ReadThreadStart();
  32. }
  33. return app => next(app);
  34. }
  35. }
  36. public class SendDataFilter : IStartupFilter
  37. {
  38. private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig()
  39. {
  40. DbType = DbType.PostgreSQL,
  41. ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("LocalDbConnectionString"),
  42. IsAutoCloseConnection = true
  43. });
  44. public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
  45. {
  46. SendLot2Lot3Thread sendLot2Lot3 = new SendLot2Lot3Thread(_db);
  47. if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("SendLot2Lot3Thread") == "on")
  48. {
  49. sendLot2Lot3.SendThreadStart();
  50. }
  51. SendColourCastThread sendcolourcast = new SendColourCastThread(_db);
  52. if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("SendColourCastThread") == "on")
  53. {
  54. sendcolourcast.SendThreadStart();
  55. }
  56. return app => next(app);
  57. }
  58. }
  59. public class DeleteDBRecordFilter : IStartupFilter
  60. {
  61. private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig()
  62. {
  63. DbType = DbType.PostgreSQL,
  64. ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("LocalDbConnectionString"),
  65. IsAutoCloseConnection = true
  66. });
  67. public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
  68. {
  69. DeleteDBRecordThread deleterecord = new DeleteDBRecordThread(_db);
  70. if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("DeleteDBRecordThread") == "on")
  71. {
  72. deleterecord.DeleteThreadStart();
  73. }
  74. return app => next(app);
  75. }
  76. }
  77. }