#pragma once

using namespace System;
using namespace System::Runtime::InteropServices;

#include "LKFContext.h"

namespace lkfxdok {
	namespace c {

		public enum class LKFStatAmbCount : int {
			Chemo, Psych, ZAE, TKL, AbtFC = 10
		};

		public ref class LKFStatContext
		{

		internal:
			void *_contextPtr;
			LKFContextWithData ^_context;

		public:
			LKFStatContext(LKFContextWithData ^context);

			unsigned int GetStatCount(unsigned int type);
			String ^GetStatField(unsigned int type, unsigned int index,  int field);
			String ^GetStatLineName(unsigned int type, unsigned int index);


			void WriteFile(String ^outputFileName);
			void WriteFile(StreamWriter^ streamWriter);
			int GetAmbCounter(LKFStatAmbCount ambIndex);

			int GetAmbKostenstelleCount();
			String ^GetAmbKostenstelleStringValue(unsigned int index, LKFStatAmbCount ambIndex);
			int GetAmbKostenstelleValue(unsigned int index, LKFStatAmbCount ambIndex);
			int GetAmbKostenstelleCounter(String ^kostenstelle, LKFStatAmbCount ambIndex);
			int GetAmbKostenstelleIndex(String ^kostenstelle);

		};
	}
}