public Reservierung(Kinokarte kinokarte, IKunde kunde, bool rabatt, IKinokarteBlockierungZugangsSchlüssel key) { _vorstellung = kinokarte.Vorstellung; _kinokarten = new List <Kinokarte>(); TicketHinzufügen(kinokarte, key); _reservierungsnummer = _kinokarten.Count; _kunde = kunde; _rabatt = rabatt; _reservierungen = new EntityManager <Reservierung>(); _reservierungen.AddElement(this); }
public Reservierung(Kinokarte kinokarte, IKunde kunde, bool rabatt, IKinokarteBlockierungZugangsSchlüssel key) { _vorstellung = kinokarte.Vorstellung; _kinokarten = new List<Kinokarte>(); TicketHinzufügen(kinokarte, key); _reservierungsnummer = _kinokarten.Count; _kunde = kunde; _rabatt = rabatt; _reservierungen = new EntityManager<Reservierung>(); _reservierungen.AddElement(this); }
public IKinokarteBlockierungZugangsSchlüssel Blockieren() { //Console.WriteLine("Blockiert!"); //if (zugangsSchlüssel != null && Blockiert) //{ // // Kinokarte ist bereits blockiert! // throw new KinokarteBlockiertException(); //} _blockiert = true; zugangsSchlüssel = new KinokarteBlockierungZugangsSchlüssel(); return(zugangsSchlüssel); }
public void BlockierungAufheben(IKinokarteBlockierungZugangsSchlüssel key) { if (zugangsSchlüssel != key) { throw new UngültigerZugangsschlüsselException(); } //if (!Blockiert) //{ // throw new KinokarteNichtBlockiertException(); //} _blockiert = false; }
/// <summary> /// Kinokarte der Reservierung hinzufügen /// </summary> /// <param name="kinokarte">Das Kinokarte welches der Reservierung hinzugefügt werden soll.</param> /// <remarks></remarks> public void TicketHinzufügen(Kinokarte kinokarte, IKinokarteBlockierungZugangsSchlüssel key) { if (_vorstellung != null && kinokarte.Vorstellung != _vorstellung) { throw new Exception("Kinokarten in a reservation must all belong to the same vorstellung!"); } if (kinokarte.Reserviert || kinokarte.Verkauft) { throw new Exception("Kinokarte already bought or reserved!"); } kinokarte.BlockierungAufheben(key); kinokarte.Rabatt = _rabatt; kinokarte.Reservieren(); _kinokarten.Add(kinokarte); }
public IKinokarteBlockierungZugangsSchlüssel Blockieren() { //Console.WriteLine("Blockiert!"); //if (zugangsSchlüssel != null && Blockiert) //{ // // Kinokarte ist bereits blockiert! // throw new KinokarteBlockiertException(); //} _blockiert = true; zugangsSchlüssel = new KinokarteBlockierungZugangsSchlüssel(); return zugangsSchlüssel; }
/// <summary> /// Hebt die Blockierung einer vorher blockierten Kinokarte auf. /// </summary> /// @param gewählte_Vorstellung - Die Vorstellung, der die zu entblockierende Kinokarte zugeordnet ist. /// @param sitz - Der gewünschte Sitzplatz über den die zu entblockierende Kinokarte ermittelt wird. /// @param zugangsSchlüssel - Ein ZugangsSchlüsselObjekt, der für den Zugriff auf die blockierte Kinokarte notwendig ist. /// @return Gibt die Reservierungsnummer für die reservierte Kinokarte zurück. /// @throw ZugangsSchlüsselUngültigException /// @pre Die gewünschte Kinokarte ist blockiert /// @post Die gewünschte Kinokarte ist nicht mehr blockiert /// @typ Kommando. /// @remarks Bevor die Blockierung einer Kinokarte aufgehoben werden kann, muss diese zuvor mit der Methode BlockiereSitzplatz blockiert worden sein. public void BlockierungFürSitzplatzAufheben(PublicVorstellung gewählte_vorstellung, ISitz sitz, IKinokarteBlockierungZugangsSchlüssel zugangsSchlüssel) { _kinokartenOperationen.BlockierungFürSitzplatzAufheben(gewählte_vorstellung, sitz, zugangsSchlüssel); }
/// <summary> /// Reserviert die gewünschte Kinokarte für den FassadeBesucher, und gibt die Reservierungsnummer für die Karte zurück. /// </summary> /// @param gewählte_Vorstellung - Die Vorstellung, der die zu reservierende Kinokarte zugeordnet ist. /// @param sitz - Der gewünschte Sitzplatz über den die zu reservierende Kinokarte ermittelt wird. /// @param zugangsSchlüssel - Ein ZugangsSchlüsselObjekt, der für den Zugriff auf die blockierte Kinokarte notwendig ist. /// @return Gibt die Reservierungsnummer für die reservierte Kinokarte zurück. /// @throw ZugangsSchlüsselUngültigException /// @pre Die gewünschte Kinokarte ist blockiert /// @pre Die gewünschte Kinokarte ist nicht bereits verkauft /// @pre Die gewünschte Kinokarte ist nicht bereits reserviert /// @post Die gewünschte Kinokarte ist für den FassadeBesucher reserviert /// @post Die gewünschte Kinokarte ist nicht mehr blockiert /// @typ Kommando. /// @remarks Bevor die Kinokarte reserviert werden kann, muss sie mit Hilfe der Funktion BlockiereSitzplatz blockiert worden sein. public int KinokarteReservieren(PublicVorstellung gewählte_vorstellung, ISitz sitz, bool rabatt, IKinokarteBlockierungZugangsSchlüssel zugangsSchlüssel) { return(_kinokartenOperationen.KinokarteReservieren(gewählte_vorstellung, sitz, rabatt, zugangsSchlüssel)); }
/// <summary> /// Reserviert die gewünschte Kinokarte für den FassadeBesucher, und gibt die Reservierungsnummer für die Karte zurück. /// </summary> /// @param gewählte_Vorstellung - Die Vorstellung, der die zu reservierende Kinokarte zugeordnet ist. /// @param sitz - Der gewünschte Sitzplatz über den die zu reservierende Kinokarte ermittelt wird. /// @param zugangsSchlüssel - Ein ZugangsSchlüsselObjekt, der für den Zugriff auf die blockierte Kinokarte notwendig ist. /// @return Gibt die Reservierungsnummer für die reservierte Kinokarte zurück. /// @throw ZugangsSchlüsselUngültigException /// @pre Die gewünschte Kinokarte ist blockiert /// @pre Die gewünschte Kinokarte ist nicht bereits verkauft /// @pre Die gewünschte Kinokarte ist nicht bereits reserviert /// @post Die gewünschte Kinokarte ist für den FassadeBesucher reserviert /// @post Die gewünschte Kinokarte ist nicht mehr blockiert /// @typ Kommando. /// @remarks Bevor die Kinokarte reserviert werden kann, muss sie mit Hilfe der Funktion BlockiereSitzplatz blockiert worden sein. public int KinokarteReservieren(PublicVorstellung gewählte_vorstellung, ISitz sitz, bool rabatt, IKinokarteBlockierungZugangsSchlüssel zugangsSchlüssel) { return _kinokartenOperationen.KinokarteReservieren(gewählte_vorstellung, sitz, rabatt, zugangsSchlüssel); }
public Buchung(Kinokarte kinokarte, IKunde kunde, bool discount, IKinokarteBlockierungZugangsSchlüssel key) : base(kinokarte, kunde, discount, key) { }