using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; using GB5Shared.ScanIdentifier; namespace WiBLL.ScanIdentifier; public class WiScanIdentifierBLL : IWiScanIdentifierBLL { private readonly IScanIdentifierEngine _engine; private readonly IScanTargetResolverDispatcher _resolvers; public WiScanIdentifierBLL(IScanIdentifierEngine engine, IScanTargetResolverDispatcher resolvers) { _engine = engine; _resolvers = resolvers; } public IEnumerable GetRegisteredEntityTypes() => _resolvers.RegisteredEntityTypes; public Task> SearchTargetAsync(string entityType, string? term, LoginDTO login, CancellationToken ct) => _resolvers.SearchAsync(entityType, term, login, ct); public Task GenerateAsync(GenerateScanIdentifierRequestDTO request, LoginDTO login, CancellationToken ct) => _engine.GenerateAsync(request, login, ct); public Task GetEffectiveConfigAsync(string entityType, LoginDTO login, CancellationToken ct) => _engine.GetEffectiveConfigAsync(entityType, login, ct); public Task GetByValueAsync(string identifierValue, LoginDTO login, CancellationToken ct) => _engine.GetByValueAsync(identifierValue, login, ct); public Task> GetListPagedAsync( string entityType, int statusFilter, string searchTerm, DateTime generatedFrom, int page, int pageSize, LoginDTO login, CancellationToken ct) => _engine.GetListPagedAsync(entityType, statusFilter, searchTerm, generatedFrom, page, pageSize, login, ct); public Task RetireAsync(int scanIdentifierId, LoginDTO login, CancellationToken ct) => _engine.RetireAsync(scanIdentifierId, login, ct); public Task ReactivateAsync(int scanIdentifierId, LoginDTO login, CancellationToken ct) => _engine.ReactivateAsync(scanIdentifierId, login, ct); public Task MarkPrintedAsync(int scanIdentifierId, LoginDTO login, CancellationToken ct) => _engine.MarkPrintedAsync(scanIdentifierId, login, ct); public Task> GetPrinterTypesAsync(LoginDTO login, CancellationToken ct) => _engine.GetPrinterTypesAsync(login, ct); public Task> GetLabelTypesAsync(LoginDTO login, CancellationToken ct) => _engine.GetLabelTypesAsync(login, ct); public Task PrintBatchAsync(PrintBatchRequestDTO request, LoginDTO login, CancellationToken ct) => _engine.PrintBatchAsync(request, login, ct); }