/* * 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 02.11.2018 09:19:35 using System; using System.Collections.Generic; namespace com.itac.oib.linecontrol.contracts.data { // source: assembly 5.1.0.84 // source: assembly ASM.AS.OIB.SIPLACEPro.LineControl.Contracts public class OptimizerMessageMapper { // used for itac->asm: True // used for asm->itac: True // maps iTAC namespace conform type to ASM namespace type public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage get(OptimizerMessage asmOptimizerMessage) { if (asmOptimizerMessage == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage itacOptimizerMessage = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage(); mapItac2Asm(itacOptimizerMessage, asmOptimizerMessage); return itacOptimizerMessage; } public static void mapItac2Asm(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage itacOptimizerMessage, OptimizerMessage asmOptimizerMessage) { itacOptimizerMessage.MessageType = asmOptimizerMessage.MessageType; itacOptimizerMessage.MessageCode = asmOptimizerMessage.MessageCode; itacOptimizerMessage.Message = asmOptimizerMessage.Message; // complex property Parameters, isArray:False, isGeneric:True // implicit mapping primitive type itac->ASM!!! itacOptimizerMessage.Parameters = getList(asmOptimizerMessage.Parameters); } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage[] get(OptimizerMessage[] asmOptimizerMessage) { if (asmOptimizerMessage == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage[] itacOptimizerMessage = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage[asmOptimizerMessage.Length]; for (int i = 0; i < asmOptimizerMessage.Length; i++) { // to itac array itacOptimizerMessage[i] = OptimizerMessageMapper.get(asmOptimizerMessage[i]); } return itacOptimizerMessage; } // maps iTAC namespace conform array to ASM namespace list public static List getList(OptimizerMessage[] asmOptimizerMessage) { if (asmOptimizerMessage == null) { return null; } List itacOptimizerMessage = new List(); for (int i = 0; i < asmOptimizerMessage.Length; i++) { itacOptimizerMessage.Add(OptimizerMessageMapper.get(asmOptimizerMessage[i])); } return itacOptimizerMessage; } // map type from ASM namespace to iTAC namespace public static OptimizerMessage get(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage asmOptimizerMessage) { if (asmOptimizerMessage == null) { return null; } OptimizerMessage itacOptimizerMessage = new OptimizerMessage(); mapAsm2Itac(asmOptimizerMessage, itacOptimizerMessage); return itacOptimizerMessage; } public static void mapAsm2Itac(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage asmOptimizerMessage, OptimizerMessage itacOptimizerMessage) { itacOptimizerMessage.MessageType = asmOptimizerMessage.MessageType; itacOptimizerMessage.MessageCode = asmOptimizerMessage.MessageCode; itacOptimizerMessage.Message = asmOptimizerMessage.Message; // maps ASM list 2 iTAC array // implicit mapping primitive type !!! itacOptimizerMessage.Parameters = getArray(asmOptimizerMessage.Parameters); } // maps ASM namespace conform list to iTAC namespace array public static OptimizerMessage[] getArray(IList asmOptimizerMessage) { if (asmOptimizerMessage == null) { return null; } OptimizerMessage[] itacOptimizerMessage = new OptimizerMessage[asmOptimizerMessage.Count]; for (int i = 0; i < asmOptimizerMessage.Count; i++) { itacOptimizerMessage[i] = OptimizerMessageMapper.get(asmOptimizerMessage[i]); } return itacOptimizerMessage; } // maps ASM namespace conform array to iTAC namespace array public static OptimizerMessage[] getArray(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.OptimizerMessage[] asmOptimizerMessage) { if (asmOptimizerMessage == null) { return null; } OptimizerMessage[] itacOptimizerMessage = new OptimizerMessage[asmOptimizerMessage.Length]; for (int i = 0; i < asmOptimizerMessage.Length; i++) { itacOptimizerMessage[i] = OptimizerMessageMapper.get(asmOptimizerMessage[i]); } return itacOptimizerMessage; } // maps c# list to iTAC c# array public static String[] getArray(List value) { if (value == null) { return null; } String[] result = new String[value.Count]; for (int i = 0; i < value.Count; i++) { result[i] = value[i]; } return result; } // maps c# list to iTAC c# array public static List getList(System.String[] value) { if (value == null) { return null; } List result = new List(); for (int i = 0; i < value.Length; i++) { result.Add( value[i]); } return result; } } }