/* * 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 23.11.2018 08:02:34 // skip property ExtensionDataObject, declared in ReasonStruct using System; using System.Collections.Generic; namespace com.itac.oib.traceability.contracts.data { // source: assembly 2.3.0.2 // source: assembly ASM.AS.OIB.Client public class ReasonStructMapper { // 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._2009._03.Traceability.Contracts.Data.ReasonStruct get(ReasonStruct itacReasonStruct) { if (itacReasonStruct == null) { return null; } www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct asmReasonStruct = new www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct(); mapItac2Asm(asmReasonStruct, itacReasonStruct); return asmReasonStruct; } public static void mapItac2Asm(www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct asmReasonStruct, ReasonStruct itacReasonStruct) { // skip property ExtensionDataObject, declared in ReasonStruct asmReasonStruct.Reason = itacReasonStruct.Reason; asmReasonStruct.Source = itacReasonStruct.Source; } // maps iTAC namespace conform array to ASM namespace array public static www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct[] get(ReasonStruct[] itacReasonStruct) { if (itacReasonStruct == null) { return null; } www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct[] asmReasonStruct = new www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct[itacReasonStruct.Length]; for (int i = 0; i < itacReasonStruct.Length; i++) { // to itac array asmReasonStruct[i] = ReasonStructMapper.get(itacReasonStruct[i]); } return asmReasonStruct; } // maps iTAC namespace conform array to ASM namespace list public static List getList(ReasonStruct[] asmReasonStruct) { if (asmReasonStruct == null) { return null; } List itacReasonStruct = new List(); for (int i = 0; i < asmReasonStruct.Length; i++) { itacReasonStruct.Add(ReasonStructMapper.get(asmReasonStruct[i])); } return itacReasonStruct; } // map type from ASM namespace to iTAC namespace public static ReasonStruct get(www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct asmReasonStruct) { if (asmReasonStruct == null) { return null; } ReasonStruct itacReasonStruct = new ReasonStruct(); mapAsm2Itac(asmReasonStruct, itacReasonStruct); return itacReasonStruct; } public static void mapAsm2Itac(www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct asmReasonStruct, ReasonStruct itacReasonStruct) { // skip property ExtensionDataObject, declared in ReasonStruct itacReasonStruct.Reason = asmReasonStruct.Reason; itacReasonStruct.Source = asmReasonStruct.Source; } // maps ASM namespace conform list to iTAC namespace array public static ReasonStruct[] getArray(IList asmReasonStruct) { if (asmReasonStruct == null) { return null; } ReasonStruct[] itacReasonStruct = new ReasonStruct[asmReasonStruct.Count]; for (int i = 0; i < asmReasonStruct.Count; i++) { itacReasonStruct[i] = ReasonStructMapper.get(asmReasonStruct[i]); } return itacReasonStruct; } // maps ASM namespace conform array to iTAC namespace array public static ReasonStruct[] getArray(www.siplace.com.OIB._2009._03.Traceability.Contracts.Data.ReasonStruct[] asmReasonStruct) { if (asmReasonStruct == null) { return null; } ReasonStruct[] itacReasonStruct = new ReasonStruct[asmReasonStruct.Length]; for (int i = 0; i < asmReasonStruct.Length; i++) { itacReasonStruct[i] = ReasonStructMapper.get(asmReasonStruct[i]); } return itacReasonStruct; } } }