Exemplo n.º 1
0
    def AddBookingClicked(self):
        window = CustomerDataWindow('Δεδομένα Κράτησης')
        data = window.GetData()

        if data:
            conn = DB.CreateConnection()
            occupiedDates = DB.GetRoomOccupiedDates(conn, data.RoomID,
                                                    data.CheckIn.year)

            for item in occupiedDates:
                if not (((data.CheckIn - item[0]).days < 0 and
                         (data.CheckOut - item[0]).days <= 0) or
                        ((data.CheckIn - item[1]).days >= 0 and
                         (data.CheckOut - item[1]).days > 0)):
                    conn.close()
                    MessageBox(
                        'Σφάλμα',
                        f'<p style="text-align:center;font-size:18px"><b>Ουπς...</p><p style="font-size:18px">Οι ημερομηνίες <b>"{data.CheckIn} - {data.CheckOut}"</b> συμπίπτουν με άλλη κράτηση.</p>',
                        QMessageBox.Ok)
                    return

            DB.AddCustomer(conn, data)
            rooms = DB.GetRoomsByType(conn,
                                      self.roomTypeSelection.currentIndex())
            conn.close()

            self.UpdateTableData()