This commit is contained in:
EugeneTes
2026-01-28 11:15:33 +01:00
parent bf34fdfaa0
commit ff52db279f
5 changed files with 10 additions and 21 deletions

View File

@@ -5,7 +5,7 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<Version>1.0.5</Version> <Version>1.0.6</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -42,7 +42,7 @@ kernel.Bind<ILogger>().ToMethod(ctx =>
}); });
return loggerFactory.CreateLogger("EpsonPrintService"); return loggerFactory.CreateLogger("EpsonPrintService");
}); });
kernel.Bind<IAssignedPrinterRepository>().ToConstant(config);
kernel.Bind<IWrapperPrinterFactory>().To<PrinterWrapperFactory>().InSingletonScope(); kernel.Bind<IWrapperPrinterFactory>().To<PrinterWrapperFactory>().InSingletonScope();
kernel.Bind<IPrinterConfigurationSource>().To<FixedConfigurationSource>(); kernel.Bind<IPrinterConfigurationSource>().To<FixedConfigurationSource>();
kernel.Bind<IReceiptConverterFactory>().To<ReceiptConverterFactory>().InSingletonScope(); kernel.Bind<IReceiptConverterFactory>().To<ReceiptConverterFactory>().InSingletonScope();

View File

@@ -2,22 +2,11 @@
namespace Inspectron.Epson.PrintServer.ConfigurationSources; namespace Inspectron.Epson.PrintServer.ConfigurationSources;
public class EpsonPrintServiceConfiguration: IPrinterConfigurationSource, IAssignedPrinterRepository public class EpsonPrintServiceConfiguration
{ {
public string GroupId { get; set; }
public string RestaurantId { get; set; } public string RestaurantId { get; set; }
public string ApiKey { get; set; } public string ApiKey { get; set; }
public string? ApiUrl { get; set; } public string? ApiUrl { get; set; }
public Dictionary<string, PrinterConfiguration> PrinterConfigurations { get; set; }
public PrinterConfiguration GetConfiguration(string printerAddress)
{
return PrinterConfigurations[printerAddress];
}
public string? GetAssignedPrinter(string workAreaId)
{
return PrinterConfigurations.Values.Where(x => x.AreaId == workAreaId).Select(x=>x.Address).FirstOrDefault();
}
} }

View File

@@ -40,8 +40,8 @@ public class SignalRPrintJobSource: IPrintJobSource
try try
{ {
await _connection.StartAsync(); await _connection.StartAsync();
await _connection.InvokeAsync("JoinGroup", _groupConfiguration.GroupId); await _connection.InvokeAsync("JoinGroup", _groupConfiguration.RestaurantId);
_logger.LogInformation("SignalR connection started and joined group {GroupId}.", _groupConfiguration.GroupId); _logger.LogInformation("SignalR connection started and joined group {GroupId}.", _groupConfiguration.RestaurantId);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -60,8 +60,8 @@ public class SignalRPrintJobSource: IPrintJobSource
_logger.LogInformation("SignalR reconnected with connection ID: {ConnectionId}. Rejoining group...", connectionId); _logger.LogInformation("SignalR reconnected with connection ID: {ConnectionId}. Rejoining group...", connectionId);
try try
{ {
await _connection.InvokeAsync("JoinGroup", _groupConfiguration.GroupId); await _connection.InvokeAsync("JoinGroup", _groupConfiguration.RestaurantId);
_logger.LogInformation("Rejoined SignalR group {GroupId} after reconnection.", _groupConfiguration.GroupId); _logger.LogInformation("Rejoined SignalR group {GroupId} after reconnection.", _groupConfiguration.RestaurantId);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -78,7 +78,7 @@ public class SignalRPrintJobSource: IPrintJobSource
try try
{ {
await _connection.StartAsync(); await _connection.StartAsync();
await _connection.InvokeAsync("JoinGroup", _groupConfiguration.GroupId); await _connection.InvokeAsync("JoinGroup", _groupConfiguration.RestaurantId);
_logger.LogInformation("Manually reconnected to SignalR."); _logger.LogInformation("Manually reconnected to SignalR.");
} }
catch (Exception ex) catch (Exception ex)

View File

@@ -27,7 +27,7 @@ public class EpsonPrintService: IPrintService
{ {
try try
{ {
var configuration = _printerConfigurationSource.GetConfiguration(printerIp);
await using var epsonPrinter = _printerFactory.CreatePrinter(); await using var epsonPrinter = _printerFactory.CreatePrinter();
string address = printerIp; string address = printerIp;
int port = 9100; int port = 9100;
@@ -80,7 +80,7 @@ public class EpsonPrintService: IPrintService
await printerAdapter.PrintImageAsync(cachedLogoPath); await printerAdapter.PrintImageAsync(cachedLogoPath);
} }
await printerAdapter.SetFontSizeAsync(configuration.FontSize);
// Convert receipt content to print commands using the factory // Convert receipt content to print commands using the factory
List<PrintCommand> commands; List<PrintCommand> commands;