113 lines
4.3 KiB
C#
113 lines
4.3 KiB
C#
/*
|
|
* 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 Position
|
|
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 PositionMapper
|
|
{
|
|
// 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.Position get(Position itacPosition)
|
|
{
|
|
if (itacPosition == null) { return null; }
|
|
www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position();
|
|
mapItac2Asm(asmPosition, itacPosition);
|
|
return asmPosition;
|
|
}
|
|
|
|
public static void mapItac2Asm(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition, Position itacPosition)
|
|
{
|
|
// skip property ExtensionDataObject, declared in Position
|
|
asmPosition.Div = itacPosition.Div;
|
|
asmPosition.Level = itacPosition.Level;
|
|
// complex property PackagingUnits, isArray:True, isGeneric:False
|
|
asmPosition.PackagingUnits = com.itac.oib.traceability.contracts.data.PackagingUnitMapper.get( itacPosition.PackagingUnits);
|
|
asmPosition.Tower = itacPosition.Tower;
|
|
asmPosition.Track = itacPosition.Track;
|
|
}
|
|
|
|
// maps iTAC namespace conform array to ASM namespace array
|
|
public static www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[] get(Position[] itacPosition)
|
|
{
|
|
if (itacPosition == null) { return null; }
|
|
www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[] asmPosition = new www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[itacPosition.Length];
|
|
for (int i = 0; i < itacPosition.Length; i++)
|
|
{
|
|
// to itac array
|
|
asmPosition[i] = PositionMapper.get(itacPosition[i]);
|
|
}
|
|
return asmPosition;
|
|
}
|
|
|
|
// maps iTAC namespace conform array to ASM namespace list
|
|
public static List<www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position> getList(Position[] asmPosition)
|
|
{
|
|
if (asmPosition == null) { return null; }
|
|
List<www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position> itacPosition = new List<www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position>();
|
|
for (int i = 0; i < asmPosition.Length; i++)
|
|
{
|
|
itacPosition.Add(PositionMapper.get(asmPosition[i]));
|
|
}
|
|
return itacPosition;
|
|
}
|
|
|
|
// map type from ASM namespace to iTAC namespace
|
|
public static Position get(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition)
|
|
{
|
|
if (asmPosition == null) { return null; }
|
|
Position itacPosition = new Position();
|
|
mapAsm2Itac(asmPosition, itacPosition);
|
|
return itacPosition;
|
|
}
|
|
|
|
public static void mapAsm2Itac(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position asmPosition, Position itacPosition)
|
|
{
|
|
// skip property ExtensionDataObject, declared in Position
|
|
itacPosition.Div = asmPosition.Div;
|
|
itacPosition.Level = asmPosition.Level;
|
|
// array mapping
|
|
itacPosition.PackagingUnits = PackagingUnitMapper.getArray(asmPosition.PackagingUnits);
|
|
// complex asm property PackagingUnits
|
|
itacPosition.Tower = asmPosition.Tower;
|
|
itacPosition.Track = asmPosition.Track;
|
|
}
|
|
|
|
// maps ASM namespace conform list to iTAC namespace array
|
|
public static Position[] getArray(IList<www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position> asmPosition)
|
|
{
|
|
if (asmPosition == null) { return null; }
|
|
Position[] itacPosition = new Position[asmPosition.Count];
|
|
for (int i = 0; i < asmPosition.Count; i++)
|
|
{
|
|
itacPosition[i] = PositionMapper.get(asmPosition[i]);
|
|
}
|
|
return itacPosition;
|
|
}
|
|
|
|
// maps ASM namespace conform array to iTAC namespace array
|
|
public static Position[] getArray(www.siplace.com.OIB._2012._03.Traceability.Contracts.Data.Position[] asmPosition)
|
|
{
|
|
if (asmPosition == null) { return null; }
|
|
Position[] itacPosition = new Position[asmPosition.Length];
|
|
for (int i = 0; i < asmPosition.Length; i++)
|
|
{
|
|
itacPosition[i] = PositionMapper.get(asmPosition[i]);
|
|
}
|
|
return itacPosition;
|
|
}
|
|
}
|
|
}
|