111 lines
3.9 KiB
C#
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
|
|
}
|
|
} |