initialize
This commit is contained in:
@@ -0,0 +1,187 @@
|
||||
#region Namespace
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using com.itac.mes.proxy.business;
|
||||
using com.itac.mes.tools;
|
||||
using www.siplace.com.OIB._2015._10.LineControlServer.Contracts.Data;
|
||||
using AsmNamespace = www.siplace.com.OIB._2015._10.LineControlServer.Contracts.Data;
|
||||
using Constants = com.itac.mes.tools.Constants;
|
||||
using MesNamespace = com.itac.oib.linecontrol.contracts.data;
|
||||
using OibClient = Asm.As.Oib.Client;
|
||||
#endregion
|
||||
|
||||
namespace Itac.Oib
|
||||
{
|
||||
/// <summary>
|
||||
/// Receiver class for the TraceService events
|
||||
/// </summary>
|
||||
public class LineControlMesInterceptorReceiver : IDisposable, IReceiver
|
||||
{
|
||||
#region Fields
|
||||
|
||||
OIBEventHandler _eventHandler;
|
||||
readonly OibClient.OibLineControlMesInterceptorEvents _oibLineControlMesInterceptorEvents;
|
||||
#endregion
|
||||
|
||||
#region construtor/destructor
|
||||
public LineControlMesInterceptorReceiver(OibClient.OibLineControlMesInterceptorEvents oibLineControlMesInterceptorEvents,
|
||||
OIBEventHandler eventHandler)
|
||||
{
|
||||
if (oibLineControlMesInterceptorEvents == null) throw new ArgumentNullException("oibLineControlMesInterceptorEvents");
|
||||
if (eventHandler == null) throw new ArgumentNullException("eventHandler");
|
||||
|
||||
this._oibLineControlMesInterceptorEvents = oibLineControlMesInterceptorEvents;
|
||||
this._eventHandler = eventHandler;
|
||||
_oibLineControlMesInterceptorEvents.Ping = Ping;
|
||||
_oibLineControlMesInterceptorEvents.VerifyPcbForAutoProgramDownload = VerifyPcbForAutoProgramDownload;
|
||||
_oibLineControlMesInterceptorEvents.VerifyRecipeActivationOnDekPrinter = VerifyRecipeActivationOnDekPrinter;
|
||||
_oibLineControlMesInterceptorEvents.VerifyRecipeDownload = VerifyRecipeDownload;
|
||||
_oibLineControlMesInterceptorEvents.VerifyRecipeForAutoProgramDownload = VerifyRecipeForAutoProgramDownload;
|
||||
_oibLineControlMesInterceptorEvents.VerifyStartAutoProgramDownload = VerifyStartAutoProgramDownload;
|
||||
}
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_oibLineControlMesInterceptorEvents != null) { _oibLineControlMesInterceptorEvents.Dispose(); }
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Start/Stop
|
||||
|
||||
public void Start()
|
||||
{
|
||||
if (!_oibLineControlMesInterceptorEvents.IsStarted)
|
||||
{
|
||||
_oibLineControlMesInterceptorEvents.Start();
|
||||
}
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
_oibLineControlMesInterceptorEvents.Stop();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Handling of events
|
||||
bool Ping()
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Verbose, "LineControlMesInterceptorReceiver.Ping");
|
||||
return _eventHandler != null;
|
||||
}
|
||||
|
||||
private MesVerificationResult VerifyRecipeForAutoProgramDownload(VerifyRecipeForAutoProgramDownloadRequest request)
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "LineControlMesInterceptorReceiver VerifyRecipeForAutoProgramDownload called");
|
||||
// map value from asm namespace to mes namespace
|
||||
MesNamespace.VerifyRecipeForAutoProgramDownloadRequest report = MesNamespace.VerifyRecipeForAutoProgramDownloadRequestMapper.get(request);
|
||||
|
||||
// create return value
|
||||
AsmNamespace.MesVerificationResult asmResult = null;
|
||||
try
|
||||
{
|
||||
MesNamespace.MesVerificationResult mesResult = _eventHandler.verifyRecipeForAutoProgramDownload(report);
|
||||
asmResult = MesNamespace.MesVerificationResultMapper.get(mesResult);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
asmResult = getFailureResult(e);
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "failed to process LineControlMesInterceptorReceiver.VerifyRecipeForAutoProgramDownload", e);
|
||||
}
|
||||
|
||||
return asmResult;
|
||||
}
|
||||
|
||||
private MesVerificationResult VerifyStartAutoProgramDownload(VerifyRecipeForAutoProgramDownloadRequest request)
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "LineControlMesInterceptorReceiver VerifyStartAutoProgramDownload called");
|
||||
// map value from asm namespace to mes namespace
|
||||
MesNamespace.VerifyRecipeForAutoProgramDownloadRequest report = MesNamespace.VerifyRecipeForAutoProgramDownloadRequestMapper.get(request);
|
||||
AsmNamespace.MesVerificationResult asmResult = null;
|
||||
try
|
||||
{
|
||||
MesNamespace.MesVerificationResult mesResult = _eventHandler.verifyStartAutoProgramDownload(report);
|
||||
asmResult = MesNamespace.MesVerificationResultMapper.get(mesResult);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
asmResult = getFailureResult(e);
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "failed to process LineControlMesInterceptorReceiver.VerifyStartAutoProgramDownload", e);
|
||||
}
|
||||
|
||||
return asmResult;
|
||||
}
|
||||
|
||||
private MesVerificationResult VerifyRecipeDownload(VerifyRecipeDownloadRequest request)
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "LineControlMesInterceptorReceiver VerifyRecipeDownload called");
|
||||
// map value from asm namespace to mes namespace
|
||||
MesNamespace.VerifyRecipeDownloadRequest report = MesNamespace.VerifyRecipeDownloadRequestMapper.get(request);
|
||||
AsmNamespace.MesVerificationResult asmResult = null;
|
||||
try
|
||||
{
|
||||
MesNamespace.MesVerificationResult mesResult = _eventHandler.verifyRecipeDownload(report);
|
||||
asmResult = MesNamespace.MesVerificationResultMapper.get(mesResult);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
asmResult = getFailureResult(e);
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "failed to process LineControlMesInterceptorReceiver.VerifyRecipeDownload", e);
|
||||
}
|
||||
|
||||
return asmResult;
|
||||
}
|
||||
|
||||
private MesVerificationResult VerifyRecipeActivationOnDekPrinter(VerifyRecipeActivationOnDekPrinterRequest request)
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "LineControlMesInterceptorReceiver VerifyRecipeActivationOnDekPrinterRequest called");
|
||||
// map value from asm namespace to mes namespace
|
||||
MesNamespace.VerifyRecipeActivationOnDekPrinterRequest report = MesNamespace.VerifyRecipeActivationOnDekPrinterRequestMapper.get(request);
|
||||
AsmNamespace.MesVerificationResult asmResult = null;
|
||||
try
|
||||
{
|
||||
MesNamespace.MesVerificationResult mesResult = _eventHandler.verifyRecipeActivationOnDekPrinter(report);
|
||||
asmResult = MesNamespace.MesVerificationResultMapper.get(mesResult);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
asmResult = getFailureResult(e);
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "failed to process LineControlMesInterceptorReceiver.VerifyRecipeActivationOnDekPrinterRequest", e);
|
||||
}
|
||||
|
||||
return asmResult;
|
||||
}
|
||||
|
||||
private MesVerificationResult VerifyPcbForAutoProgramDownload(VerifyPcbForAutoProgramDownloadRequest request)
|
||||
{
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "LineControlMesInterceptorReceiver VerifyPcbForAutoProgramDownloadRequest called");
|
||||
// map value from asm namespace to mes namespace
|
||||
MesNamespace.VerifyPcbForAutoProgramDownloadRequest report = MesNamespace.VerifyPcbForAutoProgramDownloadRequestMapper.get(request);
|
||||
AsmNamespace.MesVerificationResult asmResult = null;
|
||||
try
|
||||
{
|
||||
MesNamespace.MesVerificationResult mesResult = _eventHandler.verifyPcbForAutoProgramDownload(report);
|
||||
asmResult = MesNamespace.MesVerificationResultMapper.get(mesResult);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
asmResult = getFailureResult(e);
|
||||
LogHandler.log(Constants.LOGGER, TraceEventType.Information, "failed to process LineControlMesInterceptorReceiver.VerifyPcbForAutoProgramDownloadRequest", e);
|
||||
}
|
||||
|
||||
return asmResult;
|
||||
}
|
||||
|
||||
private AsmNamespace.MesVerificationResult getFailureResult(Exception e)
|
||||
{
|
||||
MesVerificationResult result = new MesVerificationResult();
|
||||
result.VerificationResult = 2; // 0=OK, 1=Rejected, 2=Error
|
||||
result.Reason = e.Message;
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user