Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public void BlockierungAufheben(IKinokarteBlockierungZugangsSchlüssel key)
        {
            if (zugangsSchlüssel != key)
            {
                throw new UngültigerZugangsschlüsselException();
            }

            //if (!Blockiert)
            //{
            //    throw new KinokarteNichtBlockiertException();
            //}

            _blockiert = false;
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        public void BlockierungAufheben(IKinokarteBlockierungZugangsSchlüssel key)
        {
            if (zugangsSchlüssel != key)
            {
                throw new UngültigerZugangsschlüsselException();
            }

            //if (!Blockiert)
            //{
            //    throw new KinokarteNichtBlockiertException();
            //}

            _blockiert = false;
        }
Ejemplo n.º 7
0
        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;
        }
Ejemplo n.º 8
0
 /// <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);
 }
Ejemplo n.º 9
0
        /// <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);
        }
Ejemplo n.º 10
0
 /// <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));
 }
Ejemplo n.º 11
0
 /// <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);
 }
Ejemplo n.º 12
0
 /// <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);
 }
Ejemplo n.º 13
0
 public Buchung(Kinokarte kinokarte, IKunde kunde, bool discount, IKinokarteBlockierungZugangsSchlüssel key)
     : base(kinokarte, kunde, discount, key)
 {
 }
Ejemplo n.º 14
0
 public Buchung(Kinokarte kinokarte, IKunde kunde, bool discount, IKinokarteBlockierungZugangsSchlüssel key)
     : base(kinokarte, kunde, discount, key)
 {
 }