initialize
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
#region Namespace
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.ServiceModel;
|
||||
using Asm.As.Oib.Client;
|
||||
using Asm.As.Oib.SiplaceSetupCenter.Contracts.Data;
|
||||
using com.itac.mes.proxy.business;
|
||||
using com.itac.mes.tools;
|
||||
using Constants = com.itac.mes.tools.Constants;
|
||||
#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()
|
||||
{
|
||||
if (!_oibDekPrinterExternalControlEvents.IsStarted)
|
||||
{
|
||||
_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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user