/* * 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 PrinterData 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 PrinterDataMapper { // 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.PrinterData get(PrinterData itacPrinterData) { if (itacPrinterData == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData asmPrinterData = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData(); mapItac2Asm(asmPrinterData, itacPrinterData); return asmPrinterData; } public static void mapItac2Asm(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData asmPrinterData, PrinterData itacPrinterData) { // skip property ExtensionDataObject, declared in PrinterData asmPrinterData.BadBoardReason = itacPrinterData.BadBoardReason; asmPrinterData.BoardState = itacPrinterData.BoardState; asmPrinterData.BoardsSinceLastClean = itacPrinterData.BoardsSinceLastClean; asmPrinterData.BoardsSincePasteReplenish = itacPrinterData.BoardsSincePasteReplenish; // complex property Conditions, isArray:False, isGeneric:False asmPrinterData.Conditions = com.itac.oib.traceability.contracts.data.PrinterEnvironmentalConditionsMapper.get( itacPrinterData.Conditions); asmPrinterData.DateTime = itacPrinterData.DateTime; asmPrinterData.IdleTime = itacPrinterData.IdleTime; // complex property Individual, isArray:False, isGeneric:False asmPrinterData.Individual = com.itac.oib.traceability.contracts.data.PrinterBoardIndividualMapper.get( itacPrinterData.Individual); asmPrinterData.MachineID = itacPrinterData.MachineID; // complex property Materials, isArray:True, isGeneric:False asmPrinterData.Materials = com.itac.oib.traceability.contracts.data.PrinterMaterialMapper.get( itacPrinterData.Materials); asmPrinterData.OperatorID = itacPrinterData.OperatorID; // complex property PostSPCData, isArray:False, isGeneric:False asmPrinterData.PostSPCData = com.itac.oib.traceability.contracts.data.PrinterPostSPCDataMapper.get( itacPrinterData.PostSPCData); // complex property PreSPCData, isArray:False, isGeneric:False asmPrinterData.PreSPCData = com.itac.oib.traceability.contracts.data.PrinterPreSPCDataMapper.get( itacPrinterData.PreSPCData); asmPrinterData.PrintDirection = itacPrinterData.PrintDirection; // complex property ProcessData, isArray:False, isGeneric:False asmPrinterData.ProcessData = com.itac.oib.traceability.contracts.data.PrinterPrintProcessMapper.get( itacPrinterData.ProcessData); // complex property Recipe, isArray:False, isGeneric:False asmPrinterData.Recipe = com.itac.oib.traceability.contracts.data.PrinterRecipeMapper.get( itacPrinterData.Recipe); asmPrinterData.SqueegeePrintDistance = itacPrinterData.SqueegeePrintDistance; // complex property Tools, isArray:True, isGeneric:False asmPrinterData.Tools = com.itac.oib.traceability.contracts.data.PrinterToolMapper.get( itacPrinterData.Tools); } // maps iTAC namespace conform array to ASM namespace array public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData[] get(PrinterData[] itacPrinterData) { if (itacPrinterData == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData[] asmPrinterData = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData[itacPrinterData.Length]; for (int i = 0; i < itacPrinterData.Length; i++) { // to itac array asmPrinterData[i] = PrinterDataMapper.get(itacPrinterData[i]); } return asmPrinterData; } // maps iTAC namespace conform array to ASM namespace list public static List getList(PrinterData[] asmPrinterData) { if (asmPrinterData == null) { return null; } List itacPrinterData = new List(); for (int i = 0; i < asmPrinterData.Length; i++) { itacPrinterData.Add(PrinterDataMapper.get(asmPrinterData[i])); } return itacPrinterData; } // map type from ASM namespace to iTAC namespace public static PrinterData get(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData asmPrinterData) { if (asmPrinterData == null) { return null; } PrinterData itacPrinterData = new PrinterData(); mapAsm2Itac(asmPrinterData, itacPrinterData); return itacPrinterData; } public static void mapAsm2Itac(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData asmPrinterData, PrinterData itacPrinterData) { // skip property ExtensionDataObject, declared in PrinterData itacPrinterData.BadBoardReason = asmPrinterData.BadBoardReason; itacPrinterData.BoardState = asmPrinterData.BoardState; itacPrinterData.BoardsSinceLastClean = asmPrinterData.BoardsSinceLastClean; itacPrinterData.BoardsSincePasteReplenish = asmPrinterData.BoardsSincePasteReplenish; itacPrinterData.Conditions = com.itac.oib.traceability.contracts.data.PrinterEnvironmentalConditionsMapper.get(asmPrinterData.Conditions); // complex asm property Conditions itacPrinterData.DateTime = asmPrinterData.DateTime; itacPrinterData.IdleTime = asmPrinterData.IdleTime; itacPrinterData.Individual = com.itac.oib.traceability.contracts.data.PrinterBoardIndividualMapper.get(asmPrinterData.Individual); // complex asm property Individual itacPrinterData.MachineID = asmPrinterData.MachineID; // array mapping itacPrinterData.Materials = PrinterMaterialMapper.getArray(asmPrinterData.Materials); // complex asm property Materials itacPrinterData.OperatorID = asmPrinterData.OperatorID; itacPrinterData.PostSPCData = com.itac.oib.traceability.contracts.data.PrinterPostSPCDataMapper.get(asmPrinterData.PostSPCData); // complex asm property PostSPCData itacPrinterData.PreSPCData = com.itac.oib.traceability.contracts.data.PrinterPreSPCDataMapper.get(asmPrinterData.PreSPCData); // complex asm property PreSPCData itacPrinterData.PrintDirection = asmPrinterData.PrintDirection; itacPrinterData.ProcessData = com.itac.oib.traceability.contracts.data.PrinterPrintProcessMapper.get(asmPrinterData.ProcessData); // complex asm property ProcessData itacPrinterData.Recipe = com.itac.oib.traceability.contracts.data.PrinterRecipeMapper.get(asmPrinterData.Recipe); // complex asm property Recipe itacPrinterData.SqueegeePrintDistance = asmPrinterData.SqueegeePrintDistance; // array mapping itacPrinterData.Tools = PrinterToolMapper.getArray(asmPrinterData.Tools); // complex asm property Tools } // maps ASM namespace conform list to iTAC namespace array public static PrinterData[] getArray(IList asmPrinterData) { if (asmPrinterData == null) { return null; } PrinterData[] itacPrinterData = new PrinterData[asmPrinterData.Count]; for (int i = 0; i < asmPrinterData.Count; i++) { itacPrinterData[i] = PrinterDataMapper.get(asmPrinterData[i]); } return itacPrinterData; } // maps ASM namespace conform array to iTAC namespace array public static PrinterData[] getArray(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PrinterData[] asmPrinterData) { if (asmPrinterData == null) { return null; } PrinterData[] itacPrinterData = new PrinterData[asmPrinterData.Length]; for (int i = 0; i < asmPrinterData.Length; i++) { itacPrinterData[i] = PrinterDataMapper.get(asmPrinterData[i]); } return itacPrinterData; } } }