/* * Copyright (c) 2018 iTAC Software AG, Germany. All Rights Reserved. * * This software is protected by copyright. Under no circumstances may any part of this file in any form be copied, * printed, edited or otherwise distributed, be stored in a retrieval system, or be translated into another language * without the written permission of iTAC Software AG. */ // created 05.11.2018 15:39:46 // skip property ExtensionDataObject, declared in PrinterPostSPCData // skip property PrinterSPCFiducial[], property in exclude list using System; using System.Collections.Generic; namespace com.itac.oib.traceability.contracts.data { // source: assembly 3.0.0.0 // source: assembly ASM.AS.OIB.Client public class PrinterPostSPCDataMapper { // used for itac->asm: True // used for asm->itac: True // maps iTAC namespace conform type to ASM namespace type public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData get(PrinterPostSPCData itacPrinterPostSPCData) { if (itacPrinterPostSPCData == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData asmPrinterPostSPCData = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData(); mapItac2Asm(asmPrinterPostSPCData, itacPrinterPostSPCData); return asmPrinterPostSPCData; } public static void mapItac2Asm(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData asmPrinterPostSPCData, PrinterPostSPCData itacPrinterPostSPCData) { // skip property ExtensionDataObject, declared in PrinterPostSPCData asmPrinterPostSPCData.ActYPos = itacPrinterPostSPCData.ActYPos; asmPrinterPostSPCData.ActualSeparationSpeed = itacPrinterPostSPCData.ActualSeparationSpeed; asmPrinterPostSPCData.BoardStretch = itacPrinterPostSPCData.BoardStretch; asmPrinterPostSPCData.CycleTime = itacPrinterPostSPCData.CycleTime; // skip property PrinterSPCFiducial[], property in exclude list asmPrinterPostSPCData.FrontXActPos = itacPrinterPostSPCData.FrontXActPos; asmPrinterPostSPCData.HawkeyeAreaError = itacPrinterPostSPCData.HawkeyeAreaError; asmPrinterPostSPCData.HawkeyeAreaWarning = itacPrinterPostSPCData.HawkeyeAreaWarning; asmPrinterPostSPCData.HawkeyeFeatError = itacPrinterPostSPCData.HawkeyeFeatError; asmPrinterPostSPCData.HawkeyeFeatWarning = itacPrinterPostSPCData.HawkeyeFeatWarning; asmPrinterPostSPCData.RearXActPos = itacPrinterPostSPCData.RearXActPos; // complex property Strokes, isArray:True, isGeneric:False asmPrinterPostSPCData.Strokes = com.itac.oib.traceability.contracts.data.PrinterProcessStrokeMapper.get( itacPrinterPostSPCData.Strokes); asmPrinterPostSPCData.TablePosition = itacPrinterPostSPCData.TablePosition; asmPrinterPostSPCData.ThetaAlignDev = itacPrinterPostSPCData.ThetaAlignDev; asmPrinterPostSPCData.XAlignDev = itacPrinterPostSPCData.XAlignDev; asmPrinterPostSPCData.YAlignDev = itacPrinterPostSPCData.YAlignDev; } // maps iTAC namespace conform array to ASM namespace array public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData[] get(PrinterPostSPCData[] itacPrinterPostSPCData) { if (itacPrinterPostSPCData == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData[] asmPrinterPostSPCData = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData[itacPrinterPostSPCData.Length]; for (int i = 0; i < itacPrinterPostSPCData.Length; i++) { // to itac array asmPrinterPostSPCData[i] = PrinterPostSPCDataMapper.get(itacPrinterPostSPCData[i]); } return asmPrinterPostSPCData; } // maps iTAC namespace conform array to ASM namespace list public static List getList(PrinterPostSPCData[] asmPrinterPostSPCData) { if (asmPrinterPostSPCData == null) { return null; } List itacPrinterPostSPCData = new List(); for (int i = 0; i < asmPrinterPostSPCData.Length; i++) { itacPrinterPostSPCData.Add(PrinterPostSPCDataMapper.get(asmPrinterPostSPCData[i])); } return itacPrinterPostSPCData; } // map type from ASM namespace to iTAC namespace public static PrinterPostSPCData get(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData asmPrinterPostSPCData) { if (asmPrinterPostSPCData == null) { return null; } PrinterPostSPCData itacPrinterPostSPCData = new PrinterPostSPCData(); mapAsm2Itac(asmPrinterPostSPCData, itacPrinterPostSPCData); return itacPrinterPostSPCData; } public static void mapAsm2Itac(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData asmPrinterPostSPCData, PrinterPostSPCData itacPrinterPostSPCData) { // skip property ExtensionDataObject, declared in PrinterPostSPCData itacPrinterPostSPCData.ActYPos = asmPrinterPostSPCData.ActYPos; itacPrinterPostSPCData.ActualSeparationSpeed = asmPrinterPostSPCData.ActualSeparationSpeed; itacPrinterPostSPCData.BoardStretch = asmPrinterPostSPCData.BoardStretch; itacPrinterPostSPCData.CycleTime = asmPrinterPostSPCData.CycleTime; // skip property PrinterSPCFiducial[], property in exclude list itacPrinterPostSPCData.FrontXActPos = asmPrinterPostSPCData.FrontXActPos; itacPrinterPostSPCData.HawkeyeAreaError = asmPrinterPostSPCData.HawkeyeAreaError; itacPrinterPostSPCData.HawkeyeAreaWarning = asmPrinterPostSPCData.HawkeyeAreaWarning; itacPrinterPostSPCData.HawkeyeFeatError = asmPrinterPostSPCData.HawkeyeFeatError; itacPrinterPostSPCData.HawkeyeFeatWarning = asmPrinterPostSPCData.HawkeyeFeatWarning; itacPrinterPostSPCData.RearXActPos = asmPrinterPostSPCData.RearXActPos; // array mapping itacPrinterPostSPCData.Strokes = PrinterProcessStrokeMapper.getArray(asmPrinterPostSPCData.Strokes); // complex asm property Strokes itacPrinterPostSPCData.TablePosition = asmPrinterPostSPCData.TablePosition; itacPrinterPostSPCData.ThetaAlignDev = asmPrinterPostSPCData.ThetaAlignDev; itacPrinterPostSPCData.XAlignDev = asmPrinterPostSPCData.XAlignDev; itacPrinterPostSPCData.YAlignDev = asmPrinterPostSPCData.YAlignDev; } // maps ASM namespace conform list to iTAC namespace array public static PrinterPostSPCData[] getArray(IList asmPrinterPostSPCData) { if (asmPrinterPostSPCData == null) { return null; } PrinterPostSPCData[] itacPrinterPostSPCData = new PrinterPostSPCData[asmPrinterPostSPCData.Count]; for (int i = 0; i < asmPrinterPostSPCData.Count; i++) { itacPrinterPostSPCData[i] = PrinterPostSPCDataMapper.get(asmPrinterPostSPCData[i]); } return itacPrinterPostSPCData; } // maps ASM namespace conform array to iTAC namespace array public static PrinterPostSPCData[] getArray(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterPostSPCData[] asmPrinterPostSPCData) { if (asmPrinterPostSPCData == null) { return null; } PrinterPostSPCData[] itacPrinterPostSPCData = new PrinterPostSPCData[asmPrinterPostSPCData.Length]; for (int i = 0; i < asmPrinterPostSPCData.Length; i++) { itacPrinterPostSPCData[i] = PrinterPostSPCDataMapper.get(asmPrinterPostSPCData[i]); } return itacPrinterPostSPCData; } } }