/* * 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 06.11.2018 11:16:22 // skip property Guid, declared in Answer using System; using System.Collections.Generic; namespace com.itac.oib.displayservice.contracts.data { // source: assembly 5.1.0.84 // source: assembly ASM.AS.OIB.DisplayService.Contracts public class AnswerMapper { // used for itac->asm: True // used for asm->itac: True // maps iTAC namespace conform type to ASM namespace type public static Asm.As.Oib.DisplayService.Contracts.Data.Answer get(Answer itacAnswer) { if (itacAnswer == null) { return null; } Asm.As.Oib.DisplayService.Contracts.Data.Answer asmAnswer = new Asm.As.Oib.DisplayService.Contracts.Data.Answer( itacAnswer.AnswerText, SubAnswerMapper.getList(itacAnswer.SubAnswersNew)); mapItac2Asm(asmAnswer, itacAnswer); return asmAnswer; } public static void mapItac2Asm(Asm.As.Oib.DisplayService.Contracts.Data.Answer asmAnswer, Answer itacAnswer) { // skip property Guid, declared in Answer } // maps iTAC namespace conform array to ASM namespace array public static Asm.As.Oib.DisplayService.Contracts.Data.Answer[] get(Answer[] itacAnswer) { if (itacAnswer == null) { return null; } Asm.As.Oib.DisplayService.Contracts.Data.Answer[] asmAnswer = new Asm.As.Oib.DisplayService.Contracts.Data.Answer[itacAnswer.Length]; for (int i = 0; i < itacAnswer.Length; i++) { // to itac array asmAnswer[i] = AnswerMapper.get(itacAnswer[i]); } return asmAnswer; } // maps iTAC namespace conform array to ASM namespace list public static List getList(Answer[] asmAnswer) { if (asmAnswer == null) { return null; } List itacAnswer = new List(); for (int i = 0; i < asmAnswer.Length; i++) { itacAnswer.Add(AnswerMapper.get(asmAnswer[i])); } return itacAnswer; } // map type from ASM namespace to iTAC namespace public static Answer get(Asm.As.Oib.DisplayService.Contracts.Data.Answer asmAnswer) { if (asmAnswer == null) { return null; } Answer itacAnswer = new Answer(); mapAsm2Itac(asmAnswer, itacAnswer); return itacAnswer; } public static void mapAsm2Itac(Asm.As.Oib.DisplayService.Contracts.Data.Answer asmAnswer, Answer itacAnswer) { // skip property Guid, declared in Answer } // maps ASM namespace conform list to iTAC namespace array public static Answer[] getArray(IList asmAnswer) { if (asmAnswer == null) { return null; } Answer[] itacAnswer = new Answer[asmAnswer.Count]; for (int i = 0; i < asmAnswer.Count; i++) { itacAnswer[i] = AnswerMapper.get(asmAnswer[i]); } return itacAnswer; } // maps ASM namespace conform array to iTAC namespace array public static Answer[] getArray(Asm.As.Oib.DisplayService.Contracts.Data.Answer[] asmAnswer) { if (asmAnswer == null) { return null; } Answer[] itacAnswer = new Answer[asmAnswer.Length]; for (int i = 0; i < asmAnswer.Length; i++) { itacAnswer[i] = AnswerMapper.get(asmAnswer[i]); } return itacAnswer; } } }