using EInk.TaskThread; using Microsoft.AspNetCore.Builder; using SqlSugar; namespace EInk.Lot2Lot3 { public class ReadLot2Filter : IStartupFilter { private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.PostgreSQL, ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue("TargetDbConnectionString"), IsAutoCloseConnection = true }); private readonly ISqlSugarClient _local_db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.PostgreSQL, ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue("LocalDbConnectionString"), IsAutoCloseConnection = true }); public Action Configure(Action next) { ReadLot2Thread readLot2 = new ReadLot2Thread(_db, _local_db); if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue("ReadLot2Thread") =="on") { readLot2.ReadThreadStart(); } return app => next(app); } } public class SendLot2Lot3Filter : IStartupFilter { private readonly ISqlSugarClient _db = new SqlSugarClient(new ConnectionConfig() { DbType = DbType.PostgreSQL, ConnectionString = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue("LocalDbConnectionString"), IsAutoCloseConnection = true }); public Action Configure(Action next) { SendLot2Lot3Thread sendLot2Lot3 = new SendLot2Lot3Thread(_db); if (new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build().GetValue("SendLot2Lot3Thread") == "on") { sendLot2Lot3.SendThreadStart(); } return app => next(app); } } }