/* * 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 05.11.2018 15:39:46 // skip property ExtensionDataObject, declared in PackagingUnit using System; using System.Collections.Generic; namespace com.itac.oib.traceability.contracts.data { // source: assembly 3.0.0.0 // source: assembly ASM.AS.OIB.Client public class PackagingUnitMapper { // used for itac->asm: True // used for asm->itac: True // maps iTAC namespace conform type to ASM namespace type public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit get(PackagingUnit itacPackagingUnit) { if (itacPackagingUnit == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit asmPackagingUnit = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit(); mapItac2Asm(asmPackagingUnit, itacPackagingUnit); return asmPackagingUnit; } public static void mapItac2Asm(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit asmPackagingUnit, PackagingUnit itacPackagingUnit) { // skip property ExtensionDataObject, declared in PackagingUnit asmPackagingUnit.Active = itacPackagingUnit.Active; asmPackagingUnit.BatchId = itacPackagingUnit.BatchId; asmPackagingUnit.Comment = itacPackagingUnit.Comment; asmPackagingUnit.ComponentBarcode = itacPackagingUnit.ComponentBarcode; asmPackagingUnit.ComponentTypeId = itacPackagingUnit.ComponentTypeId; asmPackagingUnit.ExpiryDate = itacPackagingUnit.ExpiryDate; asmPackagingUnit.Extra1 = itacPackagingUnit.Extra1; asmPackagingUnit.Extra2 = itacPackagingUnit.Extra2; asmPackagingUnit.Extra3 = itacPackagingUnit.Extra3; asmPackagingUnit.Id = itacPackagingUnit.Id; asmPackagingUnit.ManufactureDate = itacPackagingUnit.ManufactureDate; asmPackagingUnit.Manufacturer = itacPackagingUnit.Manufacturer; asmPackagingUnit.MsdLevel = itacPackagingUnit.MsdLevel; asmPackagingUnit.MsdOpenDate = itacPackagingUnit.MsdOpenDate; asmPackagingUnit.Operator = itacPackagingUnit.Operator; asmPackagingUnit.OriginalQuantity = itacPackagingUnit.OriginalQuantity; asmPackagingUnit.PackagingId = itacPackagingUnit.PackagingId; asmPackagingUnit.Serial = itacPackagingUnit.Serial; asmPackagingUnit.Supplier = itacPackagingUnit.Supplier; asmPackagingUnit.VerifiedDate = itacPackagingUnit.VerifiedDate; asmPackagingUnit.BrightnessClass = itacPackagingUnit.BrightnessClass; // complex property Quantity, isArray:False, isGeneric:True itacPackagingUnit.Quantity = asmPackagingUnit.Quantity; asmPackagingUnit.CustomValue1 = itacPackagingUnit.CustomValue1; } // maps iTAC namespace conform array to ASM namespace array public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit[] get(PackagingUnit[] itacPackagingUnit) { if (itacPackagingUnit == null) { return null; } www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit[] asmPackagingUnit = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit[itacPackagingUnit.Length]; for (int i = 0; i < itacPackagingUnit.Length; i++) { // to itac array asmPackagingUnit[i] = PackagingUnitMapper.get(itacPackagingUnit[i]); } return asmPackagingUnit; } // maps iTAC namespace conform array to ASM namespace list public static List getList(PackagingUnit[] asmPackagingUnit) { if (asmPackagingUnit == null) { return null; } List itacPackagingUnit = new List(); for (int i = 0; i < asmPackagingUnit.Length; i++) { itacPackagingUnit.Add(PackagingUnitMapper.get(asmPackagingUnit[i])); } return itacPackagingUnit; } // map type from ASM namespace to iTAC namespace public static PackagingUnit get(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit asmPackagingUnit) { if (asmPackagingUnit == null) { return null; } PackagingUnit itacPackagingUnit = new PackagingUnit(); mapAsm2Itac(asmPackagingUnit, itacPackagingUnit); return itacPackagingUnit; } public static void mapAsm2Itac(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit asmPackagingUnit, PackagingUnit itacPackagingUnit) { // skip property ExtensionDataObject, declared in PackagingUnit itacPackagingUnit.Active = asmPackagingUnit.Active; itacPackagingUnit.BatchId = asmPackagingUnit.BatchId; itacPackagingUnit.Comment = asmPackagingUnit.Comment; itacPackagingUnit.ComponentBarcode = asmPackagingUnit.ComponentBarcode; itacPackagingUnit.ComponentTypeId = asmPackagingUnit.ComponentTypeId; itacPackagingUnit.ExpiryDate = asmPackagingUnit.ExpiryDate; itacPackagingUnit.Extra1 = asmPackagingUnit.Extra1; itacPackagingUnit.Extra2 = asmPackagingUnit.Extra2; itacPackagingUnit.Extra3 = asmPackagingUnit.Extra3; itacPackagingUnit.Id = asmPackagingUnit.Id; itacPackagingUnit.ManufactureDate = asmPackagingUnit.ManufactureDate; itacPackagingUnit.Manufacturer = asmPackagingUnit.Manufacturer; itacPackagingUnit.MsdLevel = asmPackagingUnit.MsdLevel; itacPackagingUnit.MsdOpenDate = asmPackagingUnit.MsdOpenDate; itacPackagingUnit.Operator = asmPackagingUnit.Operator; itacPackagingUnit.OriginalQuantity = asmPackagingUnit.OriginalQuantity; itacPackagingUnit.PackagingId = asmPackagingUnit.PackagingId; itacPackagingUnit.Serial = asmPackagingUnit.Serial; itacPackagingUnit.Supplier = asmPackagingUnit.Supplier; itacPackagingUnit.VerifiedDate = asmPackagingUnit.VerifiedDate; itacPackagingUnit.BrightnessClass = asmPackagingUnit.BrightnessClass; // maps ASM list 2 iTAC array // implicit mapping primitive type with optional !!! itacPackagingUnit.Quantity = asmPackagingUnit.Quantity; itacPackagingUnit.CustomValue1 = asmPackagingUnit.CustomValue1; } // maps ASM namespace conform list to iTAC namespace array public static PackagingUnit[] getArray(IList asmPackagingUnit) { if (asmPackagingUnit == null) { return null; } PackagingUnit[] itacPackagingUnit = new PackagingUnit[asmPackagingUnit.Count]; for (int i = 0; i < asmPackagingUnit.Count; i++) { itacPackagingUnit[i] = PackagingUnitMapper.get(asmPackagingUnit[i]); } return itacPackagingUnit; } // maps ASM namespace conform array to iTAC namespace array public static PackagingUnit[] getArray(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.PackagingUnit[] asmPackagingUnit) { if (asmPackagingUnit == null) { return null; } PackagingUnit[] itacPackagingUnit = new PackagingUnit[asmPackagingUnit.Length]; for (int i = 0; i < asmPackagingUnit.Length; i++) { itacPackagingUnit[i] = PackagingUnitMapper.get(asmPackagingUnit[i]); } return itacPackagingUnit; } // maps c# list to iTAC c# array public static Int32[] getArray(List value) { if (value == null) { return null; } Int32[] result = new Int32[value.Count]; for (int i = 0; i < value.Count; i++) { result[i] = value[i]; } return result; } } }