#include"JWI_Klassen_Verwaltung.h"

//	ausgelagerte Operationen der Klasse Verwaltung


Kundenbestellung Verwaltung::SucheKundenbestellung(int bestellnr)
{
	class Kundenbestellung best;

	kundenbestellungen.SetzeAufAnfang();	//	liefert das erste Element der Liste
	//	löscht alle zur Bestellung gehörigen Bestellposten
	for (int i=1; i <= kundenbestellungen.Laenge(); i++)	
	{
		best = kundenbestellungen.HoleInhalt();

		if (best.HoleBestellungsNr() == bestellnr)
		{
			return best;
			break;	//	beendet die for-Schleife
		};
		
		kundenbestellungen.NachfolgendesElement();
	};

	class Kundenbestellung NichtGefunden;	//	beim generieren wird automatisch bnr=0 gesetzt
	return NichtGefunden;
}


Nachbestellung Verwaltung::SucheNachbestellungLieferantenNr(int lieferantennr)
{
	class Nachbestellung nachbest;

	//	wird ganz analog zur Operation SucheKundenbestellung der Klasse Verwaltung impl.
	//	das Kiterium ist die Lieferantennummer der Nachbestellung

	return nachbest;
}


Bestellposten Verwaltung::SucheBestellposten(int laufendenr)
{
	class Bestellposten bestp;

	//	wird ganz analog zur Operation SucheKundenbestellung der Klasse Verwaltung impl.
	
	//	zuerste wird die Lieferkartei durchsucht und ggf. mit break beenden;
	//	ist anschließend bestp gleich dem letzten Element der liste und ungleich dem gesuchten
	//	so wird die Wartekartei durchsucht

	//	das Kriterium ist die laufende Nummer des Bestellpostens

	return bestp;
}


Kunde Verwaltung::SucheKunden(int kundennr)
{
	class Kunde knd;

	//	wird ganz analog zur Operation SucheKundenbestellung der Klasse Verwaltung impl.
	//	das Kriterium ist die Kundennummer
	return knd;
}


Lieferant Verwaltung::SucheLieferanten(int lieferantennr)
{
	class Lieferant lief;

	//	wird ganz analog zur Operation SucheKundenbestellung der Klasse Verwaltung impl.
	//	das Kriterium ist die Lieferantennummer

	return lief;
}


Produkt Verwaltung::SucheProdukt(int produktnr)
{
	class Produkt prod;

	//	wird ganz analog zur Operation SucheKundenbestellung der Klasse Verwaltung impl.
	//	das Kriterium ist die Produktnummer

	return prod;
}


Lieferschein Verwaltung::SucheLieferscheinBestellungsNr(int bestellungsnr)
{
	class Lieferschein liefers;

	//	wird ganz analog zur Operation SucheKundenbestellung der Klasse Verwaltung impl.
	//	das Kriterium ist die Bestellungsnummer

	return liefers;
}


int Verwaltung::BestimmeLieferwagenNummer(Lieferschein liefers)
{
	int wagennr;

	//	Algorithmus der zu einem Lieferschein einen Lieferwagen bestimmt, 
	//	der diesen ausliefert

	return wagennr;
}
