Startup.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 SendLot2Lot3Filter : 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. return app => next(app);
  51. }
  52. }
  53. public class DeleteDBRecordFilter : IStartupFilter
  54. {
  55. private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig()
  56. {
  57. DbType = DbType.PostgreSQL,
  58. ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("LocalDbConnectionString"),
  59. IsAutoCloseConnection = true
  60. });
  61. public Action<IApplicationBuilder> Configure(Action<IApplicationBuilder> next)
  62. {
  63. DeleteDBRecordThread deleterecord = new DeleteDBRecordThread(_db);
  64. if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue<string>("DeleteDBRecordhread") == "on")
  65. {
  66. deleterecord.DeleteThreadStart();
  67. }
  68. return app => next(app);
  69. }
  70. }
  71. }