/* * 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 11:13:37 // skip property IList, declared in DownloadMessage using System; using System.Collections.Generic; using com.itac.oib.linecontrol.contracts.data; namespace com.itac.oib.linecontrol.contracts.data { // source: assembly 5.1.0.84 // source: assembly ASM.AS.OIB.SIPLACEPro.LineControl.Contracts public class DownloadMessageMapper { // 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.DownloadMessage get(DownloadMessage asmDownloadMessage) { Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage result = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage(MessageLevelMapper.get(asmDownloadMessage.Level), new Asm.As.Oib.SiplacePro.LineControl.Contracts.Subsystem(), 0, null, null, new DateTime()); return result; } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage[] get(DownloadMessage[] asmDownloadMessage) { if (asmDownloadMessage == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage[] itacDownloadMessage = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage[asmDownloadMessage.Length]; for (int i = 0; i < asmDownloadMessage.Length; i++) { // to itac array itacDownloadMessage[i] = DownloadMessageMapper.get(asmDownloadMessage[i]); } return itacDownloadMessage; } // maps iTAC namespace conform array to ASM namespace list public static List getList(DownloadMessage[] asmDownloadMessage) { if (asmDownloadMessage == null) { return null; } List itacDownloadMessage = new List(); for (int i = 0; i < asmDownloadMessage.Length; i++) { itacDownloadMessage.Add(DownloadMessageMapper.get(asmDownloadMessage[i])); } return itacDownloadMessage; } // map type from ASM namespace to iTAC namespace public static DownloadMessage get(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage asmDownloadMessage) { if (asmDownloadMessage == null) { return null; } DownloadMessage itacDownloadMessage = new DownloadMessage(); mapAsm2Itac(asmDownloadMessage, itacDownloadMessage); return itacDownloadMessage; } public static void mapAsm2Itac(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage asmDownloadMessage, DownloadMessage itacDownloadMessage) { itacDownloadMessage.Level = com.itac.oib.linecontrol.contracts.data.MessageLevelMapper.get(asmDownloadMessage.Level); // complex asm property Level itacDownloadMessage.Subsystem = com.itac.oib.linecontrol.contracts.data.SubsystemMapper.get(asmDownloadMessage.Subsystem); // complex asm property Subsystem itacDownloadMessage.Id = asmDownloadMessage.Id; itacDownloadMessage.Text = asmDownloadMessage.Text; // maps ASM list 2 iTAC array itacDownloadMessage.SubMessages = DownloadMessageMapper.getArray(asmDownloadMessage.SubMessages); itacDownloadMessage.DateTime = asmDownloadMessage.DateTime; // skip property IList, declared in DownloadMessage // array mapping itacDownloadMessage.SubMessagesArray = DownloadMessageMapper.getArray(asmDownloadMessage.SubMessagesArray); // complex asm property SubMessagesArray } // maps ASM namespace conform list to iTAC namespace array public static DownloadMessage[] getArray(IList asmDownloadMessage) { if (asmDownloadMessage == null) { return null; } DownloadMessage[] itacDownloadMessage = new DownloadMessage[asmDownloadMessage.Count]; for (int i = 0; i < asmDownloadMessage.Count; i++) { itacDownloadMessage[i] = DownloadMessageMapper.get(asmDownloadMessage[i]); } return itacDownloadMessage; } // maps ASM namespace conform array to iTAC namespace array public static DownloadMessage[] getArray(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadMessage[] asmDownloadMessage) { if (asmDownloadMessage == null) { return null; } DownloadMessage[] itacDownloadMessage = new DownloadMessage[asmDownloadMessage.Length]; for (int i = 0; i < asmDownloadMessage.Length; i++) { itacDownloadMessage[i] = DownloadMessageMapper.get(asmDownloadMessage[i]); } return itacDownloadMessage; } } }