/* * 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; 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 LineControlLineStatusMapper { // 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.LineControlLineStatus get(LineControlLineStatus asmLineControlLineStatus) { if (asmLineControlLineStatus == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus itacLineControlLineStatus = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus(); mapItac2Asm(itacLineControlLineStatus, asmLineControlLineStatus); return itacLineControlLineStatus; } public static void mapItac2Asm(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus itacLineControlLineStatus, LineControlLineStatus asmLineControlLineStatus) { itacLineControlLineStatus.Line = asmLineControlLineStatus.Line; itacLineControlLineStatus.LineControlServerHostName = asmLineControlLineStatus.LineControlServerHostName; // complex property LineControlStationStati, isArray:False, isGeneric:True itacLineControlLineStatus.LineControlStationStati = LineControlStationStatusMapper.getList(asmLineControlLineStatus.LineControlStationStati); itacLineControlLineStatus.ProductionSchedule = asmLineControlLineStatus.ProductionSchedule; // complex property StationwiseDownloadStateRight, isArray:False, isGeneric:False itacLineControlLineStatus.StationwiseDownloadStateRight = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get( asmLineControlLineStatus.StationwiseDownloadStateRight); // complex property StationwiseDownloadStateLeft, isArray:False, isGeneric:False itacLineControlLineStatus.StationwiseDownloadStateLeft = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get( asmLineControlLineStatus.StationwiseDownloadStateLeft); itacLineControlLineStatus.Job = asmLineControlLineStatus.Job; } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus[] get(LineControlLineStatus[] asmLineControlLineStatus) { if (asmLineControlLineStatus == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus[] itacLineControlLineStatus = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus[asmLineControlLineStatus.Length]; for (int i = 0; i < asmLineControlLineStatus.Length; i++) { // to itac array itacLineControlLineStatus[i] = LineControlLineStatusMapper.get(asmLineControlLineStatus[i]); } return itacLineControlLineStatus; } // maps iTAC namespace conform array to ASM namespace list public static List getList(LineControlLineStatus[] asmLineControlLineStatus) { if (asmLineControlLineStatus == null) { return null; } List itacLineControlLineStatus = new List(); for (int i = 0; i < asmLineControlLineStatus.Length; i++) { itacLineControlLineStatus.Add(LineControlLineStatusMapper.get(asmLineControlLineStatus[i])); } return itacLineControlLineStatus; } // map type from ASM namespace to iTAC namespace public static LineControlLineStatus get(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus asmLineControlLineStatus) { if (asmLineControlLineStatus == null) { return null; } LineControlLineStatus itacLineControlLineStatus = new LineControlLineStatus(); mapAsm2Itac(asmLineControlLineStatus, itacLineControlLineStatus); return itacLineControlLineStatus; } public static void mapAsm2Itac(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus asmLineControlLineStatus, LineControlLineStatus itacLineControlLineStatus) { itacLineControlLineStatus.Line = asmLineControlLineStatus.Line; itacLineControlLineStatus.LineControlServerHostName = asmLineControlLineStatus.LineControlServerHostName; // maps ASM list 2 iTAC array itacLineControlLineStatus.LineControlStationStati = LineControlStationStatusMapper.getArray(asmLineControlLineStatus.LineControlStationStati); itacLineControlLineStatus.ProductionSchedule = asmLineControlLineStatus.ProductionSchedule; itacLineControlLineStatus.StationwiseDownloadStateRight = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get(asmLineControlLineStatus.StationwiseDownloadStateRight); // complex asm property StationwiseDownloadStateRight itacLineControlLineStatus.StationwiseDownloadStateLeft = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get(asmLineControlLineStatus.StationwiseDownloadStateLeft); // complex asm property StationwiseDownloadStateLeft itacLineControlLineStatus.Job = asmLineControlLineStatus.Job; } // maps ASM namespace conform list to iTAC namespace array public static LineControlLineStatus[] getArray(IList asmLineControlLineStatus) { if (asmLineControlLineStatus == null) { return null; } LineControlLineStatus[] itacLineControlLineStatus = new LineControlLineStatus[asmLineControlLineStatus.Count]; for (int i = 0; i < asmLineControlLineStatus.Count; i++) { itacLineControlLineStatus[i] = LineControlLineStatusMapper.get(asmLineControlLineStatus[i]); } return itacLineControlLineStatus; } // maps ASM namespace conform array to iTAC namespace array public static LineControlLineStatus[] getArray(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlLineStatus[] asmLineControlLineStatus) { if (asmLineControlLineStatus == null) { return null; } LineControlLineStatus[] itacLineControlLineStatus = new LineControlLineStatus[asmLineControlLineStatus.Length]; for (int i = 0; i < asmLineControlLineStatus.Length; i++) { itacLineControlLineStatus[i] = LineControlLineStatusMapper.get(asmLineControlLineStatus[i]); } return itacLineControlLineStatus; } } }