#include "JWI_Klassen_Bestellung.h" // ausgelagerte Operationen der Klasse Bestellung int Bestellung::HoleBestellungsNr(void) {return bnr;} BestellpostenListe Bestellung::HoleBestellpostenListe(void) {return postenliste;} Datum Bestellung::HoleDatum(void) {return datum;} int Bestellung::HoleBearbeitet(void) {return bearbeitet;} void Bestellung::DatenAendern(void) { // analog zur Operation DatenAendern der Klasse Geschaeftspartner // wird eine Operation implementiert, die erst in einem Menü nachfragt, // welche Daten geädert werden sollen, dann über eine Bildschirmdialog die neuen Daten // abfragt und als letztes die neuen Daten zuweist, d.h. es können einzelne oder alle // Daten geändert werden // Wichtig: nur das Attribut bearbeitet kann nicht verändert werden // soll ein Bestellposten geändert werden, so kann dazu die Operation DatenAender der // Klasse Bestellposten benutzt werden oder es wird die Liste der Bestellposten von vorne // nach hinten durchgegangen und abgfragt, ob der derzeitige Bestellposten geändert // werden soll; ist dieses der Fall, wird die neue Produktnummer und neue Menge abgefragt // und unter der alten Bestellungsnummer und laufenden numer ein neuer Bestellposten // erzeugt; dann wird der alte Bestellposten aus der Liste gelöscht und der neue // angehängt! Außerdem muß der alte Bestllposten in der Warte- oder Lieferkartei auf // gleichtem Wege ersetzt werden, falls er sich in einer dieser Karteien befindet // am Schluß müssen noch die Wart- bzw. Lieferkartei und die Mengen der ggf. // verschiedenen Produkte angepaßt werden! } // Hilfsfunktion für die Operation BestellungAnnehmen bzw. FehlbestaendeNachbestellen der // Klasse Verwaltung // hängt den übergebenen Bestellposten an die postenliste an void Bestellung::PostenAnhaengen(Bestellposten bestp) { postenliste.ElementHinzufuegen(bestp); } // ausgelagerte Operationen der Klasse Kundenbestellung int Kundenbestellung::HoleKundenNr(void) {return gnr;} void Kundenbestellung::Neu(int bestellungsnr) { // nacheinander werden alle benötigten Informationen über eine Bildschirmdialog abgefragt // und in den zugehörigen Attributen gespeichert // die Zuweisung des Datums geschieht bei der Initialisierung // Zuweisung der Bestellnummer bnr = bestellungsnr; // bearbeitet wird schon beim generieren mit dem Konstruktor auf False gesetzt // und die Liste der Bestellposten wird von der Operation BestellungAnnehmern // der Klasse Verwaltung ausgefüllt } // ausgelagerte Operationen der Klasse Nachbestellungen int Nachbestellung::HoleLieferantenNr(void) {return gnr;} void Nachbestellung::Neu(int bestellnummer) { // wird ganz analog zur Operation Neu der Klasse Kundenbestellung implementiert !!! } void Nachbestellung::Drucken(void) { // druckt zuerst den Kopf der Bestellung und dann die einzelnen Bestellposten durch: class Bestellposten bestp; postenliste.SetzeAufAnfang(); for (int i=1; i<=postenliste.Laenge(); i++) { bestp = postenliste.HoleInhalt(); // drucken der Informationen des Bestellposten bestp postenliste.NachfolgendesElement(); }; }