#include "stdafx.h"
#include "LKFAufenthaltMEL.h"

extern "C" {
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lkf5defs.h"
}

#include "LKFAufenthalt.h"

namespace lkfxdok {
	namespace c {
		LKFAufenthaltMEL::LKFAufenthaltMEL(LKFAufenthalt ^aufenthalt, unsigned int index) : LKFAufenthaltChild(aufenthalt, index)
		{
		}

		String ^LKFAufenthaltMEL::Line::get() {
			char buf[2048];
			if (lkf_auf_line_mel((LKF_AUFENTHALT *)_aufenthalt->_aufenthaltPtr, _index, buf))
				return gcnew String(buf);
				return nullptr;
		}

		String ^LKFAufenthaltMEL::MELLDFGruppe::get() {
			return GetField(4);
		}

		String ^LKFAufenthaltMEL::MELLDFKnoten::get() {
			return GetField(5);
		}

		String ^LKFAufenthaltMEL::MELLDFRelevant::get() {
			return GetField(3);
		}

		String ^LKFAufenthaltMEL::MELLDFPunkte::get() {
			return GetField(2);
		}

		String ^LKFAufenthaltMEL::MELZU::get() {
			return GetField(0);
		}

		String ^LKFAufenthaltMEL::MELLDFPLK::get() {
			return GetField(1);
		}

		String ^LKFAufenthaltMEL::GetField(unsigned int fieldNumber) {
			char buf[512];
			lkf_auf_get_mel_value((LKF_AUFENTHALT *)_aufenthalt->_aufenthaltPtr, _index, fieldNumber, 512, buf);
			return gcnew String(buf);
		}

		String ^LKFAufenthaltMEL::MELPOS::get() {
			return GetField(11);
		}

	}
}
