Application Kata “Kinokasse”

Schreiben Sie eine Anwendung, mit der Kinokarten online gekauft werden können.

Die folgende Abbildung zeigt die Startseite der Anwendung.

Es werden alle Vorstellungen im gezeigten Format dargestellt. Der Anwender kann innerhalb eines Films auf eine der Uhrzeiten klicken, um damit den Film, den Wochentag und die Uhrzeit auszuwählen. Er gelangt damit zum Belegungsplan, in dem er einen oder mehrere Sitzplätze auswählen kann.

Im Belegungsplan sind Plätze, die bereits belegt sind, grau dargestellt und können nicht angewählt werden. Alle freien Plätze können vom Anwender markiert werden. Jedes mal, wenn die Anzahl der vom Anwender markierten Sitzplätze sich ändert, wird die aktuelle Gesamtsumme neu berechnet und angezeigt. Hat der Anwender mindestens einen Sitzplatz selektiert, ist die Schaltfläche Buchen aktiviert. Von dort gelangt der Anwender zum Zahlungsdialog.

Im Zahlungsdialog werden die Kreditkarteninformationen des Anwenders abgefragt. Sind alle Daten eingetragen, wird die Weiter Schaltfläche aktiviert. Zuletzt wird zu der Bestellung des Anwenders ein PDF generiert, aus dem alle relevanten Daten hervorgehen.

Die Vorstellungen werden aus der Datei Vorstellungen.txt geladen. Sie ist als CSV Datei aufgebaut. Die einzelnen Angaben zu den Vorstellungen eines Films sind durch Schrägstriche getrennt. Jeder Eintrag besteht aus dem Wochentag, der Uhrzeit, dem Saal sowie dem Preis. Die Vorstellungen sind durch Kommata getrennt.

Der Name der Rose;
    Mo/17:00/Saal 1/7.00,Mo/20:00/Saal 1/8.00,Di/17:00/Saal 2/7.50,
    Mi/16:00/Saal 1/7.00,Mi/19:00/Saal 3/7.00,Mi/22:00/Saal 1/7.00,
    Do/16:00/Saal 2/7.00,Do/19:00/Saal 3/7.00,Fr/17:00/Saal 3/7.00,
    Fr/20:00/Saal 3/7.00,Fr/23:00/Saal 1/7.00,Sa/17:00/Saal 1/7.00,
    Sa/20:00/Saal 2/7.00,So/15:00/Saal 1/7.00
Pumuckl;
    Mo/17:00/Saal 1/7.00,Di/17:00/Saal 1/8.00,Mi/14:00/Saal 2/7.50,
    Do/14:00/Saal 1/7.00,Fr/17:00/Saal 3/7.00,Sa/14:00/Saal 1/7.00,
    So/15:00/Saal 1/7.00
Der Schuh des Königs;
    Mo/19:15/Saal 1/7.00,Mo/21:00/Saal 1/8.00,Di/19:15/Saal 2/7.50,
    Di/21:00/Saal 1/7.00,Mi/16:00/Saal 3/7.00,Mi/19:00/Saal 1/7.00,
    Mi/22:00/Saal 2/7.00,Do/17:00/Saal 3/7.00,Fr/17:20/Saal 3/7.00,
    Fr/20:20/Saal 3/7.00,Fr/23:20/Saal 1/7.00,Sa/17:00/Saal 1/7.00,
    Sa/20:00/Saal 2/7.00,So/15:00/Saal 1/7.00

Die Zeilen sind hier lediglich aus Platzgründen umbrochen. Tatsächlich besteht diese Beispieldatei aus drei Zeilen. 

Der Aufbau der Kinosäle ist in Textdateien hinterlegt. Für jeden Saal muss eine Datei mit dem Saalnamen als Dateiname zuzüglich .txt als Erweiterung existieren. In den Dateien wird ein Sitzplatz durch ein X angegeben, wie in folgendem Beispiel der Datei Saal 1.txt zu sehen:

    XXXXXXXXXXXXX
  XXXXXXXXXXXXXXXXX
 XXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXX

Variationen

Die Kreditkarteninformation kann auf korrekten Aufbau kontrolliert werden.

de_DEGerman