#include "JWI_Klassen_Verwaltung.h"
#include "JWI_Klassen_Fenster.cpp"

		

//	ausgelagerte public Operationen der Klasse Verwaltung

void Verwaltung::DatenSpeichern(void) 
{
	//	speichert alle notwendigen Daten
}

void Verwaltung::DatenLaden(void)
{
	//	datum speicher_datum;
	//	...
	//	ausgebe des speicher datums
}

void Verwaltung::NeuerKunde(void)
{
	zaeler_knr++;
	class Kunde neuerkunde;
	neuerkunde.Neu(zaeler_knr);	//	initialisiert den neuen Kunden

	kunden.ElementHinzufuegen(neuerkunde);
}

void Verwaltung::NeuerLieferant(void)
{
	//	wird ganz analog zur Operation NeuerKunde der Klasse Verwaltung implementiert
}

void Verwaltung::NeuesProdukt(void)
{
	//	wird ganz analog zur Operation NeuerKunde der Klasse Verwaltung implementiert
}

void Verwaltung::KundendatenAendern(void)
{
	class EingabeFenster<int> E;
	class Kunde knd;
	char* Text;	//	Text der im Eingabe-Fenster ausgegeben werden soll
	int eingabe;

	Text="Bitte geben Sie die Nummer des Kunden ein, dessen Daten geändert werden sollen:";
	eingabe = E.HoleEingabe(Text);

	knd = SucheKunden(eingabe);

	knd.DatenAendern();
}

void Verwaltung::LieferantendatenAendern(void)
{
	//	Implementierung erfolgt analog zur Operation KundendatenAendern der Klasse Verwaltung
}

void Verwaltung::ProduktdatenAendern(void)
{
	//	Implementierung erfolgt analog zur Operation KundendatenAendern der Klasse Verwaltung
}

void Verwaltung::NachbestellungAendern(void)
{
	//	Implementierung erfolgt analog zur Operation KundendatenAendern der Klasse Verwaltung
}

void Verwaltung::KundenbestellungAendern(void)
{
	//	Implementierung erfolgt analog zur Operation KundendatenAendern der Klasse Verwaltung
}

void Verwaltung::BearbeiteteNachbestellungenLoeschen(void)
{
	class Nachbestellung nachbest;

	nachbestellungen.SetzeAufAnfang();
	for(int i=1; i <= nachbestellungen.Laenge(); i++)
	{
		nachbest = nachbestellungen.HoleInhalt();

		//	falls die Nachbestellung bearbeitet ist, wird sie gelöscht
		if(nachbest.HoleBearbeitet() == 1)
		{
			nachbestellungen.ElementLoeschen();
		};

		nachbestellungen.NachfolgendesElement();
	};
}

void Verwaltung::BearbeiteteKundenbestellungenLoeschen(void)
{
	//	Implementierung erfolgt analog zur Operation BearbeiteteNachbestellungenLoeschen
	//	der Klasse Verwaltung
}

