Startup.cs 4.1 KB

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