Files
imsInterface/interface/asm/dotnet/Oib5xGUI/src/main/csharp/DekPrinterExternalControlReceiver.cs
2025-06-06 09:15:13 +02:00

111 lines
3.9 KiB
C#

#region Namespace
using System;
using System.Diagnostics;
using Asm.As.Oib.Client;
using Asm.As.Oib.SiplaceSetupCenter.Contracts.Data;
using com.itac.mes.proxy;
using com.itac.mes.proxy.business;
#endregion
namespace Itac.Oib
{
// [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class DekPrinterExternalControlReceiver : IDisposable, IReceiver
{
#region Fields
private readonly OibDekPrinterExtenalControlEvents _oibDekPrinterExternalControlEvents;
public OIBEventHandler _eventHandler { get; set; }
#endregion
#region constructor, event delegate assignment
public DekPrinterExternalControlReceiver(OibDekPrinterExtenalControlEvents oibSetupCenterExternalControlEvents)
{
_oibDekPrinterExternalControlEvents = oibSetupCenterExternalControlEvents;
oibSetupCenterExternalControlEvents.VerifyPrinterMaterial = VerifyPrinterMaterial;
oibSetupCenterExternalControlEvents.VerifyPrinterTool = VerifyPrinterTool;
}
#endregion
#region Start/Stop
public void Start()
{
_oibDekPrinterExternalControlEvents.Start();
}
public void Stop()
{
_oibDekPrinterExternalControlEvents.Stop();
}
#endregion
public OIBEventHandler getEventHandler(Object request)
{
if (_eventHandler == null)
{
if (request == null) { throw new Exception("missing event handler to transport unknown message"); }
throw new Exception("missing event handler to transport message of type " + request.GetType().Name);
}
return _eventHandler;
}
#region IDekPrinterCenterExternalControl Members
private void startCall(string method)
{
LogHandler.log(Constants.LOGGER, TraceEventType.Verbose, String.Format("DekPrinterExternalControl.{0} called", method));
}
public VerifyPrinterToolResponse VerifyPrinterTool(VerifyPrinterToolRequest request)
{
startCall("VerifyPrinterTool");
var mesNamespaceConformRequest = com.itac.oib.siplacesetupcenter.contracts.data.VerifyPrinterToolRequestMapper.get(request);
VerifyPrinterToolResponse oibResult = null;
try
{
var mesNamespaceConformResult = getEventHandler(request).verifyPrinterTool(mesNamespaceConformRequest);
oibResult = com.itac.oib.siplacesetupcenter.contracts.data.VerifyPrinterToolResponseMapper.get(mesNamespaceConformResult);
}
catch (Exception e)
{
LogHandler.log(Constants.LOGGER, TraceEventType.Error, "failed to process VerifyPrinterToolRequest", e);
}
return oibResult;
}
public VerifyPrinterMaterialResponse VerifyPrinterMaterial(VerifyPrinterMaterialRequest request)
{
startCall("VerifyPrinterMaterial");
var mesNamespaceConformRequest = com.itac.oib.siplacesetupcenter.contracts.data.VerifyPrinterMaterialRequestMapper.get(request);
VerifyPrinterMaterialResponse oibResult = null;
try
{
var mesNamespaceConformResult = getEventHandler(request).verifyPrinterMaterial(mesNamespaceConformRequest);
oibResult = com.itac.oib.siplacesetupcenter.contracts.data.VerifyPrinterMaterialResponseMapper.get(mesNamespaceConformResult);
}
catch (Exception e)
{
LogHandler.log(Constants.LOGGER, TraceEventType.Error, "failed to process VerifyPrinterMaterialRequest", e);
}
return oibResult;
}
#endregion
#region IDisposeable
public void Dispose()
{
if (_oibDekPrinterExternalControlEvents != null)
_oibDekPrinterExternalControlEvents.Dispose();
}
#endregion
}
}