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>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Version>1.0.5</Version>
<Version>1.0.6</Version>
</PropertyGroup>
<ItemGroup>

View File

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

View File

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

View File

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