/* * 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:41 // skip property IList, property in exclude list 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 DownloadResultMapper { // 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.DownloadResult get(DownloadResult asmDownloadResult) { if (asmDownloadResult == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult itacDownloadResult = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult(); mapItac2Asm(itacDownloadResult, asmDownloadResult); return itacDownloadResult; } public static void mapItac2Asm(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult itacDownloadResult, DownloadResult asmDownloadResult) { itacDownloadResult.Succeeded = asmDownloadResult.Succeeded; itacDownloadResult.ExceptionMessage = asmDownloadResult.ExceptionMessage; // complex property ICResultRight, isArray:False, isGeneric:False itacDownloadResult.ICResultRight = com.itac.oib.linecontrol.contracts.data.IntegrityCheckResultMapper.get( asmDownloadResult.ICResultRight); // complex property ICResultLeft, isArray:False, isGeneric:False itacDownloadResult.ICResultLeft = com.itac.oib.linecontrol.contracts.data.IntegrityCheckResultMapper.get( asmDownloadResult.ICResultLeft); // complex property DetailedResults, isArray:False, isGeneric:False itacDownloadResult.DetailedResults = com.itac.oib.linecontrol.contracts.data.DownloadResultsMapper.get( asmDownloadResult.DetailedResults); // complex property DownloadMessages, isArray:False, isGeneric:True itacDownloadResult.DownloadMessages = DownloadMessageMapper.getList(asmDownloadResult.DownloadMessages); // complex property MissingComponents, isArray:False, isGeneric:False itacDownloadResult.MissingComponents = com.itac.oib.linecontrol.contracts.data.MissingComponentsMapper.get( asmDownloadResult.MissingComponents); // complex property MissingFeeders, isArray:False, isGeneric:True itacDownloadResult.MissingFeeders = MissingFeederMapper.getList(asmDownloadResult.MissingFeeders); // complex property MissingRecipeNames, isArray:False, isGeneric:True // implicit mapping primitive type itac->ASM!!! itacDownloadResult.MissingRecipeNames = getList(asmDownloadResult.MissingRecipeNames); itacDownloadResult.PlacementPositionsRepartitionedLeft = asmDownloadResult.PlacementPositionsRepartitionedLeft; itacDownloadResult.PlacementPositionsRepartitionedRight = asmDownloadResult.PlacementPositionsRepartitionedRight; itacDownloadResult.SetupChanged = asmDownloadResult.SetupChanged; itacDownloadResult.RepartitioningErrorCode = asmDownloadResult.RepartitioningErrorCode; itacDownloadResult.PrinterIntegrityCheckResultRight = asmDownloadResult.PrinterIntegrityCheckResultRight; itacDownloadResult.PrinterIntegrityCheckResultLeft = asmDownloadResult.PrinterIntegrityCheckResultLeft; itacDownloadResult.SubLineSelection = asmDownloadResult.SubLineSelection; // skip readonly property FailedSinceServerIsBusy // skip property IList, property in exclude list // skip readonly property DownloadMessagesArray } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult[] get(DownloadResult[] asmDownloadResult) { if (asmDownloadResult == null) { return null; } Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult[] itacDownloadResult = new Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult[asmDownloadResult.Length]; for (int i = 0; i < asmDownloadResult.Length; i++) { // to itac array itacDownloadResult[i] = DownloadResultMapper.get(asmDownloadResult[i]); } return itacDownloadResult; } // maps iTAC namespace conform array to ASM namespace list public static List getList(DownloadResult[] asmDownloadResult) { if (asmDownloadResult == null) { return null; } List itacDownloadResult = new List(); for (int i = 0; i < asmDownloadResult.Length; i++) { itacDownloadResult.Add(DownloadResultMapper.get(asmDownloadResult[i])); } return itacDownloadResult; } // map type from ASM namespace to iTAC namespace public static DownloadResult get(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult asmDownloadResult) { if (asmDownloadResult == null) { return null; } DownloadResult itacDownloadResult = new DownloadResult(); mapAsm2Itac(asmDownloadResult, itacDownloadResult); return itacDownloadResult; } public static void mapAsm2Itac(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult asmDownloadResult, DownloadResult itacDownloadResult) { itacDownloadResult.Succeeded = asmDownloadResult.Succeeded; itacDownloadResult.ExceptionMessage = asmDownloadResult.ExceptionMessage; itacDownloadResult.ICResultRight = com.itac.oib.linecontrol.contracts.data.IntegrityCheckResultMapper.get(asmDownloadResult.ICResultRight); // complex asm property ICResultRight itacDownloadResult.ICResultLeft = com.itac.oib.linecontrol.contracts.data.IntegrityCheckResultMapper.get(asmDownloadResult.ICResultLeft); // complex asm property ICResultLeft itacDownloadResult.DetailedResults = com.itac.oib.linecontrol.contracts.data.DownloadResultsMapper.get(asmDownloadResult.DetailedResults); // complex asm property DetailedResults // maps ASM list 2 iTAC array itacDownloadResult.DownloadMessages = DownloadMessageMapper.getArray(asmDownloadResult.DownloadMessages); itacDownloadResult.MissingComponents = com.itac.oib.linecontrol.contracts.data.MissingComponentsMapper.get(asmDownloadResult.MissingComponents); // complex asm property MissingComponents // maps ASM list 2 iTAC array itacDownloadResult.MissingFeeders = MissingFeederMapper.getArray(asmDownloadResult.MissingFeeders); // maps ASM list 2 iTAC array // implicit mapping primitive type !!! itacDownloadResult.MissingRecipeNames = getArray(asmDownloadResult.MissingRecipeNames); itacDownloadResult.PlacementPositionsRepartitionedLeft = asmDownloadResult.PlacementPositionsRepartitionedLeft; itacDownloadResult.PlacementPositionsRepartitionedRight = asmDownloadResult.PlacementPositionsRepartitionedRight; itacDownloadResult.SetupChanged = asmDownloadResult.SetupChanged; itacDownloadResult.RepartitioningErrorCode = asmDownloadResult.RepartitioningErrorCode; itacDownloadResult.PrinterIntegrityCheckResultRight = asmDownloadResult.PrinterIntegrityCheckResultRight; itacDownloadResult.PrinterIntegrityCheckResultLeft = asmDownloadResult.PrinterIntegrityCheckResultLeft; itacDownloadResult.SubLineSelection = asmDownloadResult.SubLineSelection; itacDownloadResult.FailedSinceServerIsBusy = asmDownloadResult.FailedSinceServerIsBusy; // skip property IList, property in exclude list // array mapping itacDownloadResult.DownloadMessagesArray = DownloadMessageMapper.getArray(asmDownloadResult.DownloadMessagesArray); // complex asm property DownloadMessagesArray } // maps ASM namespace conform list to iTAC namespace array public static DownloadResult[] getArray(IList asmDownloadResult) { if (asmDownloadResult == null) { return null; } DownloadResult[] itacDownloadResult = new DownloadResult[asmDownloadResult.Count]; for (int i = 0; i < asmDownloadResult.Count; i++) { itacDownloadResult[i] = DownloadResultMapper.get(asmDownloadResult[i]); } return itacDownloadResult; } // maps ASM namespace conform array to iTAC namespace array public static DownloadResult[] getArray(Asm.As.Oib.SiplacePro.LineControl.Contracts.Data.DownloadResult[] asmDownloadResult) { if (asmDownloadResult == null) { return null; } DownloadResult[] itacDownloadResult = new DownloadResult[asmDownloadResult.Length]; for (int i = 0; i < asmDownloadResult.Length; i++) { itacDownloadResult[i] = DownloadResultMapper.get(asmDownloadResult[i]); } return itacDownloadResult; } // maps c# list to iTAC c# array public static String[] getArray(List value) { if (value == null) { return null; } String[] result = new String[value.Count]; for (int i = 0; i < value.Count; i++) { result[i] = value[i]; } return result; } // maps c# list to iTAC c# array public static List getList(System.String[] value) { if (value == null) { return null; } List result = new List(); for (int i = 0; i < value.Length; i++) { result.Add( value[i]); } return result; } } }