/* * 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 Position 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 PositionMapper { // 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.Position get(Position itacPosition) { if (itacPosition == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position(); mapItac2Asm(asmPosition, itacPosition); return asmPosition; } public static void mapItac2Asm(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition, Position itacPosition) { // skip property ExtensionDataObject, declared in Position asmPosition.Div = itacPosition.Div; asmPosition.Level = itacPosition.Level; // complex property PackagingUnits, isArray:True, isGeneric:False asmPosition.PackagingUnits = com.itac.oib.traceability.contracts.data.PackagingUnitMapper.get( itacPosition.PackagingUnits); asmPosition.Tower = itacPosition.Tower; asmPosition.Track = itacPosition.Track; } // maps iTAC namespace conform array to ASM namespace array public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[] get(Position[] itacPosition) { if (itacPosition == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[] asmPosition = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[itacPosition.Length]; for (int i = 0; i < itacPosition.Length; i++) { // to itac array asmPosition[i] = PositionMapper.get(itacPosition[i]); } return asmPosition; } // maps iTAC namespace conform array to ASM namespace list public static List getList(Position[] asmPosition) { if (asmPosition == null) { return null; } List itacPosition = new List(); for (int i = 0; i < asmPosition.Length; i++) { itacPosition.Add(PositionMapper.get(asmPosition[i])); } return itacPosition; } // map type from ASM namespace to iTAC namespace public static Position get(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition) { if (asmPosition == null) { return null; } Position itacPosition = new Position(); mapAsm2Itac(asmPosition, itacPosition); return itacPosition; } public static void mapAsm2Itac(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition, Position itacPosition) { // skip property ExtensionDataObject, declared in Position itacPosition.Div = asmPosition.Div; itacPosition.Level = asmPosition.Level; // array mapping itacPosition.PackagingUnits = PackagingUnitMapper.getArray(asmPosition.PackagingUnits); // complex asm property PackagingUnits itacPosition.Tower = asmPosition.Tower; itacPosition.Track = asmPosition.Track; } // maps ASM namespace conform list to iTAC namespace array public static Position[] getArray(IList asmPosition) { if (asmPosition == null) { return null; } Position[] itacPosition = new Position[asmPosition.Count]; for (int i = 0; i < asmPosition.Count; i++) { itacPosition[i] = PositionMapper.get(asmPosition[i]); } return itacPosition; } // maps ASM namespace conform array to iTAC namespace array public static Position[] getArray(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[] asmPosition) { if (asmPosition == null) { return null; } Position[] itacPosition = new Position[asmPosition.Length]; for (int i = 0; i < asmPosition.Length; i++) { itacPosition[i] = PositionMapper.get(asmPosition[i]); } return itacPosition; } } }