/* * 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:10:38 using System; using System.Collections.Generic; using com.itac.oib.linecontrol.contracts.data; namespace com.itac.oib.linecontrol.contracts.data { // source: assembly 3.2.0.152 // 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 itacLineControlConveyorStatus) { if (itacLineControlConveyorStatus == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus asmLineControlConveyorStatus = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus(); mapItac2Asm(asmLineControlConveyorStatus, itacLineControlConveyorStatus); return asmLineControlConveyorStatus; } public static void mapItac2Asm(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus asmLineControlConveyorStatus, LineControlConveyorStatus itacLineControlConveyorStatus) { asmLineControlConveyorStatus.RecipeName = itacLineControlConveyorStatus.RecipeName; asmLineControlConveyorStatus.BoardName = itacLineControlConveyorStatus.BoardName; asmLineControlConveyorStatus.BoardSide = itacLineControlConveyorStatus.BoardSide; asmLineControlConveyorStatus.ProcessState = itacLineControlConveyorStatus.ProcessState; asmLineControlConveyorStatus.ProcessedBoards = itacLineControlConveyorStatus.ProcessedBoards; asmLineControlConveyorStatus.AbortedBoards = itacLineControlConveyorStatus.AbortedBoards; asmLineControlConveyorStatus.LotSizeMode = itacLineControlConveyorStatus.LotSizeMode; asmLineControlConveyorStatus.LotSize = itacLineControlConveyorStatus.LotSize; asmLineControlConveyorStatus.LastDownloadedRecipeTimeStamp = itacLineControlConveyorStatus.LastDownloadedRecipeTimeStamp; asmLineControlConveyorStatus.ProductionScheduleElementId = itacLineControlConveyorStatus.ProductionScheduleElementId; // complex property StationwiseDownloadState, isArray:False, isGeneric:False asmLineControlConveyorStatus.StationwiseDownloadState = com.itac.oib.linecontrol.contracts.data.StationwiseDownloadStateMapper.get( itacLineControlConveyorStatus.StationwiseDownloadState); } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[] get(LineControlConveyorStatus[] itacLineControlConveyorStatus) { if (itacLineControlConveyorStatus == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[] asmLineControlConveyorStatus = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.LineControlConveyorStatus[itacLineControlConveyorStatus.Length]; for (int i = 0; i < itacLineControlConveyorStatus.Length; i++) { // to itac array asmLineControlConveyorStatus[i] = LineControlConveyorStatusMapper.get(itacLineControlConveyorStatus[i]); } return asmLineControlConveyorStatus; } // 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 } // 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; } } }