/***************************************************************************
vertrag.h - Interface Klasse CVertrag
-------------------
begin : Wed Aug 4 1999
copyright : (C) 1999 by Stephan Uhlmann
email : suhlmann@gmx.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef __VERTRAG_H__
#define __VERTRAG_H__
#include "dokument.h" /* Import Klasse CDokument */
/**
* Die Klasse CVertrag stellt die Daten und Methoden zur Verfuegung
* um einen Vertrag zu verwalten.
* Diese Klasse erbt von der Klasse CDokument.
*/
/* jeder Vertrag ist auch ein Dokument */
class CVertrag : public CDokument
{
private:
/** Vertragsnummer */
QString Vertragsnummer;
/** Datum der letzten Aenderung */
QDateTime Aenderungsdatum;
/** Bank unterschrieben? */
bool UnterschriftBankVorhanden;
/** Kunde unterschrieben? */
bool UnterschriftKundeVorhanden;
/** Vertragstext */
QString Vertragstext;
public:
/** Konstruktor */
/* pre: this existiert nicht */
/* post: this existiert und ist gueltig */
CVertrag();
/** Destruktor */
/* pre: this existiert */
/* post: this existiert nicht */
virtual ~CVertrag();
/** generiert ein Objekt des Typs CVertrag und gibt einen Zeiger darauf zurueck */
/* pre: CVertrag existiert nicht */
/* post: CVertrag existiert und ist gueltig */
virtual CDokument* Generate() const;
/** gibt ein Objekt des Typs CVertrag wieder frei */
/* pre: this existiert */
/* post: this ist ungueltig */
virtual void Free();
/** prueft die Klasseninvarianz des Objekts */
/* pre: this existiert */
/* post: TRUE wenn this gueltig, sonst FALSE */
virtual bool ClassInvariant() const;
/** kopiert den Vertrag src in den aktuellen Vertrag */
/* pre: this existiert; src ist gueltig */
/* post: this ist gueltig; this ist gleich src */
virtual bool Copy(CDokument* src);
/** vergleicht zwei Vertraege miteinander */
/* pre: this und src existieren und sind gueltig */
/* post: TRUE wenn Inhalt von this gleich Inhalt von src, sonst FALSE */
virtual bool EqualValue(CDokument* src) const;
/** initialisiert einen existierenden Vertrag mit den gegebenen Werten */
/* pre: this existiert und ist gueltig */
/* post: this enthaelt die gewuenschten Werte */
bool InitVertrag(QString NVerfasser,
QString NTitel,
QString NSchluessel,
QString NVertragsnummer,
bool NUnterschriftBankVorhanden,
bool NUnterschriftKundeVorhanden,
QString NVertragstext);
/** liefert die Vertragsnummer */
/* pre: this existiert und ist gueltig */
/* post: */
QString LiefereVertragsnummer() const;
/** gibt zurueck ob die Unterschrift der Bank vorhanden ist */
/* pre: this existiert und ist gueltig */
/* post: */
bool LiefereUnterschriftBankVorhanden() const;
/** aendert die Tatsache ob die Bank unterschrieben hat */
/* pre: this existiert und ist gueltig */
/* post: */
void AendereUnterschriftBankVorhanden(bool NUnterschriftBankVorhanden);
/** gibt zurueck ob der Kunde unterschrieben hat */
/* pre: this existiert und ist gueltig */
/* post: */
bool LiefereUnterschriftKundeVorhanden() const;
/** aendert die Tatsache ob der Kunde unterschrieben hat */
void AendereUnterschriftKundeVorhanden(bool NUnterschriftKundeVorhanden);
/** gibt den Vertragstext zurueck */
/* pre: this existiert und ist gueltig */
/* post: */
QString LiefereVertragstext() const;
/** aendert den Vertragstext */
/* pre: this existiert und ist gueltig */
/* post: */
void AendereVertragstext(QString NVertragstext);
/** gibt das Datum der letzten Aenderung zurueck */
/* pre: this existiert und ist gueltig */
/* post: */
QDateTime LiefereAenderungsdatum() const;
/** aendert das Datum der letzten Aenderung */
/* pre: this existiert und ist gueltig */
/* post: */
void AendereAenderungsdatum(QDateTime NDatum);
/** prueft ob der Vertrag zulaessig ist */
/* pre: */
/* post: TRUE wenn src gueltig ist, sonst FALSE */
bool ZulaessigerVertrag(QString NVertragstext) const;
/** schreibt den Inhalt des Vertrages in den angegebenen stream */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn der CVertrag geschrieben werden konnte, sonst FALSE */
bool readData(QDataStream* stream);
/** laedt den Inhalt des Vertrages aus dem angegebenen stream */
/* pre: this existiert und ist gueltig */
/* post: TRUE wenn der CVertrag geladen werden konnte, sonst FALSE */
bool writeData(QDataStream* stream) const;
};
#endif /* __VERTRAG_H__ */
Documentation generated by uhlmann@fara2 on Mon Aug 30 20:37:52 MEST 1999