/* * 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:05:09 using System; using System.Collections.Generic; using com.itac.oib.siplacepro.contracts.data; using com.itac.oib.siplacesetupcenter.contracts.data; namespace com.itac.oib.client.customextensions { // source: assembly 2.3.0.2 // source: assembly ASM.AS.OIB.Client.CustomExtensions public class LineChangeoverEventArgsMapper { // used for itac->asm: True // used for asm->itac: True // maps iTAC namespace conform type to ASM namespace type public static Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs get(LineChangeoverEventArgs itacLineChangeoverEventArgs) { if (itacLineChangeoverEventArgs == null) { return null; } Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs asmLineChangeoverEventArgs = new Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs(); mapItac2Asm(asmLineChangeoverEventArgs, itacLineChangeoverEventArgs); return asmLineChangeoverEventArgs; } public static void mapItac2Asm(Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs asmLineChangeoverEventArgs, LineChangeoverEventArgs itacLineChangeoverEventArgs) { // property Line is readonly(no set method) // property Setup is readonly(no set method) // property ConveyorInfoRight is readonly(no set method) // property ConveyorInfoLeft is readonly(no set method) // property MachineSetups is readonly(no set method) } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs[] get(LineChangeoverEventArgs[] itacLineChangeoverEventArgs) { if (itacLineChangeoverEventArgs == null) { return null; } Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs[] asmLineChangeoverEventArgs = new Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs[itacLineChangeoverEventArgs.Length]; for (int i = 0; i < itacLineChangeoverEventArgs.Length; i++) { // to itac array asmLineChangeoverEventArgs[i] = LineChangeoverEventArgsMapper.get(itacLineChangeoverEventArgs[i]); } return asmLineChangeoverEventArgs; } // maps iTAC namespace conform array to ASM namespace list public static List getList(LineChangeoverEventArgs[] asmLineChangeoverEventArgs) { if (asmLineChangeoverEventArgs == null) { return null; } List itacLineChangeoverEventArgs = new List(); for (int i = 0; i < asmLineChangeoverEventArgs.Length; i++) { itacLineChangeoverEventArgs.Add(LineChangeoverEventArgsMapper.get(asmLineChangeoverEventArgs[i])); } return itacLineChangeoverEventArgs; } // map type from ASM namespace to iTAC namespace public static LineChangeoverEventArgs get(Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs asmLineChangeoverEventArgs) { if (asmLineChangeoverEventArgs == null) { return null; } LineChangeoverEventArgs itacLineChangeoverEventArgs = new LineChangeoverEventArgs(); mapAsm2Itac(asmLineChangeoverEventArgs, itacLineChangeoverEventArgs); return itacLineChangeoverEventArgs; } public static void mapAsm2Itac(Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs asmLineChangeoverEventArgs, LineChangeoverEventArgs itacLineChangeoverEventArgs) { itacLineChangeoverEventArgs.Line = com.itac.oib.siplacepro.contracts.data.LineMapper.get(asmLineChangeoverEventArgs.Line); // complex asm property Line itacLineChangeoverEventArgs.Setup = com.itac.oib.siplacepro.contracts.data.SetupMapper.get(asmLineChangeoverEventArgs.Setup); // complex asm property Setup itacLineChangeoverEventArgs.ConveyorInfoRight = com.itac.oib.client.customextensions.ConveyorInfoMapper.get(asmLineChangeoverEventArgs.ConveyorInfoRight); // complex asm property ConveyorInfoRight itacLineChangeoverEventArgs.ConveyorInfoLeft = com.itac.oib.client.customextensions.ConveyorInfoMapper.get(asmLineChangeoverEventArgs.ConveyorInfoLeft); // complex asm property ConveyorInfoLeft // maps ASM list 2 iTAC array /// TODO mappen in unetrschiedlichen Type bei OIB 3 itacLineChangeoverEventArgs.MachineSetups = MachineSetupMapper.getArray(asmLineChangeoverEventArgs.MachineSetups); } // maps ASM namespace conform list to iTAC namespace array public static LineChangeoverEventArgs[] getArray(IList asmLineChangeoverEventArgs) { if (asmLineChangeoverEventArgs == null) { return null; } LineChangeoverEventArgs[] itacLineChangeoverEventArgs = new LineChangeoverEventArgs[asmLineChangeoverEventArgs.Count]; for (int i = 0; i < asmLineChangeoverEventArgs.Count; i++) { itacLineChangeoverEventArgs[i] = LineChangeoverEventArgsMapper.get(asmLineChangeoverEventArgs[i]); } return itacLineChangeoverEventArgs; } // maps ASM namespace conform array to iTAC namespace array public static LineChangeoverEventArgs[] getArray(Asm.As.Oib.Client.CustomExtensions.LineChangeoverEventArgs[] asmLineChangeoverEventArgs) { if (asmLineChangeoverEventArgs == null) { return null; } LineChangeoverEventArgs[] itacLineChangeoverEventArgs = new LineChangeoverEventArgs[asmLineChangeoverEventArgs.Length]; for (int i = 0; i < asmLineChangeoverEventArgs.Length; i++) { itacLineChangeoverEventArgs[i] = LineChangeoverEventArgsMapper.get(asmLineChangeoverEventArgs[i]); } return itacLineChangeoverEventArgs; } } }