32 lines
891 B
C#
32 lines
891 B
C#
using CommunityToolkit.Mvvm.Messaging;
|
|
using SteUp.Shared.Core.BarcodeReader.Contracts;
|
|
using SteUp.Shared.Core.Messages.Scanner;
|
|
|
|
namespace SteUp.Shared.Core.BarcodeReader;
|
|
|
|
public class BarcodeManager(
|
|
IBarcodeReaderService scanner,
|
|
IMessenger messenger) : IBarcodeManager
|
|
{
|
|
public void Init()
|
|
{
|
|
if (!scanner.IsRightAdapter())
|
|
{
|
|
Console.WriteLine("Dispositivo non compatibile con lo scanner Honeywell.");
|
|
return;
|
|
}
|
|
|
|
scanner.Register(
|
|
onScanSuccessful: dto =>
|
|
{
|
|
messenger.Send(new NewScannerMessage(dto.StringValue));
|
|
},
|
|
onScanFailed: ex =>
|
|
{
|
|
messenger.Send(new ErrorScannerMessage(ex.Message));
|
|
}
|
|
);
|
|
|
|
scanner.Init(() => { scanner.ChangeSettings([("TRIGGER_SCAN_MODE", "ONE_SHOT")]); });
|
|
}
|
|
} |