/* * 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 LineControlConveyorStatusMapper { // 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.LineControlConveyorStatus get(LineControlConveyorStatus asmLineControlConveyorStatus) { if (asmLineControlConveyorStatus == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus itacLineControlConveyorStatus = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus(); mapItac2Asm(itacLineControlConveyorStatus, asmLineControlConveyorStatus); return itacLineControlConveyorStatus; } public static void mapItac2Asm(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus itacLineControlConveyorStatus, LineControlConveyorStatus asmLineControlConveyorStatus) { itacLineControlConveyorStatus.RecipeName = asmLineControlConveyorStatus.RecipeName; itacLineControlConveyorStatus.BoardName = asmLineControlConveyorStatus.BoardName; itacLineControlConveyorStatus.BoardSide = asmLineControlConveyorStatus.BoardSide; itacLineControlConveyorStatus.ProcessState = asmLineControlConveyorStatus.ProcessState; itacLineControlConveyorStatus.ProcessedBoards = asmLineControlConveyorStatus.ProcessedBoards; itacLineControlConveyorStatus.AbortedBoards = asmLineControlConveyorStatus.AbortedBoards; itacLineControlConveyorStatus.LotSizeMode = asmLineControlConveyorStatus.LotSizeMode; itacLineControlConveyorStatus.LotSize = asmLineControlConveyorStatus.LotSize; itacLineControlConveyorStatus.LastDownloadedRecipeTimeStamp = asmLineControlConveyorStatus.LastDownloadedRecipeTimeStamp; itacLineControlConveyorStatus.ProductionScheduleElementId = asmLineControlConveyorStatus.ProductionScheduleElementId; // complex property StationwiseDownloadState, isArray:False, isGeneric:False itacLineControlConveyorStatus.StationwiseDownloadState = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get( asmLineControlConveyorStatus.StationwiseDownloadState); itacLineControlConveyorStatus.LineJobGUID = asmLineControlConveyorStatus.LineJobGUID; } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[] get(LineControlConveyorStatus[] asmLineControlConveyorStatus) { if (asmLineControlConveyorStatus == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[] itacLineControlConveyorStatus = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[asmLineControlConveyorStatus.Length]; for (int i = 0; i < asmLineControlConveyorStatus.Length; i++) { // to itac array itacLineControlConveyorStatus[i] = LineControlConveyorStatusMapper.get(asmLineControlConveyorStatus[i]); } return itacLineControlConveyorStatus; } // maps iTAC namespace conform array to ASM namespace list public static List getList(LineControlConveyorStatus[] asmLineControlConveyorStatus) { if (asmLineControlConveyorStatus == null) { return null; } List itacLineControlConveyorStatus = new List(); for (int i = 0; i < asmLineControlConveyorStatus.Length; i++) { itacLineControlConveyorStatus.Add(LineControlConveyorStatusMapper.get(asmLineControlConveyorStatus[i])); } return itacLineControlConveyorStatus; } // map type from ASM namespace to iTAC namespace public static LineControlConveyorStatus get(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus asmLineControlConveyorStatus) { if (asmLineControlConveyorStatus == null) { return null; } LineControlConveyorStatus itacLineControlConveyorStatus = new LineControlConveyorStatus(); mapAsm2Itac(asmLineControlConveyorStatus, itacLineControlConveyorStatus); return itacLineControlConveyorStatus; } public static void mapAsm2Itac(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus asmLineControlConveyorStatus, LineControlConveyorStatus itacLineControlConveyorStatus) { itacLineControlConveyorStatus.RecipeName = asmLineControlConveyorStatus.RecipeName; itacLineControlConveyorStatus.BoardName = asmLineControlConveyorStatus.BoardName; itacLineControlConveyorStatus.BoardSide = asmLineControlConveyorStatus.BoardSide; itacLineControlConveyorStatus.ProcessState = asmLineControlConveyorStatus.ProcessState; itacLineControlConveyorStatus.ProcessedBoards = asmLineControlConveyorStatus.ProcessedBoards; itacLineControlConveyorStatus.AbortedBoards = asmLineControlConveyorStatus.AbortedBoards; itacLineControlConveyorStatus.LotSizeMode = asmLineControlConveyorStatus.LotSizeMode; itacLineControlConveyorStatus.LotSize = asmLineControlConveyorStatus.LotSize; itacLineControlConveyorStatus.LastDownloadedRecipeTimeStamp = asmLineControlConveyorStatus.LastDownloadedRecipeTimeStamp; itacLineControlConveyorStatus.ProductionScheduleElementId = asmLineControlConveyorStatus.ProductionScheduleElementId; itacLineControlConveyorStatus.StationwiseDownloadState = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get(asmLineControlConveyorStatus.StationwiseDownloadState); // complex asm property StationwiseDownloadState itacLineControlConveyorStatus.LineJobGUID = asmLineControlConveyorStatus.LineJobGUID; } // maps ASM namespace conform list to iTAC namespace array public static LineControlConveyorStatus[] getArray(IList asmLineControlConveyorStatus) { if (asmLineControlConveyorStatus == null) { return null; } LineControlConveyorStatus[] itacLineControlConveyorStatus = new LineControlConveyorStatus[asmLineControlConveyorStatus.Count]; for (int i = 0; i < asmLineControlConveyorStatus.Count; i++) { itacLineControlConveyorStatus[i] = LineControlConveyorStatusMapper.get(asmLineControlConveyorStatus[i]); } return itacLineControlConveyorStatus; } // maps ASM namespace conform array to iTAC namespace array public static LineControlConveyorStatus[] getArray(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[] asmLineControlConveyorStatus) { if (asmLineControlConveyorStatus == null) { return null; } LineControlConveyorStatus[] itacLineControlConveyorStatus = new LineControlConveyorStatus[asmLineControlConveyorStatus.Length]; for (int i = 0; i < asmLineControlConveyorStatus.Length; i++) { itacLineControlConveyorStatus[i] = LineControlConveyorStatusMapper.get(asmLineControlConveyorStatus[i]); } return itacLineControlConveyorStatus; } } }