public void BookASeat(SeatNumber seatId, Person person)
 {
     if (!_seats.ContainsKey(seatId))
     {
         throw new InvalidOperationException($"There is no Seat {seatId} in row {RowId}.");
     }
     _seats[seatId].Book(person);
 }
 public void BookASeat(SeatNumber seat, RowNumber row, SectionCode section, Person person)
 {
     if (!_sections.ContainsKey(section))
     {
         throw new InvalidOperationException($"There is no Section {section} on a stadium {Id}.");
     }
     _sections[section].BookASeat(row, seat, person);
 }
 public void BookASeat(RowNumber rowId, SeatNumber seatId, Person person)
 {
     if (!_rows.ContainsKey(rowId))
     {
         throw new InvalidOperationException($"There is no Row {rowId} in section {SectionId}.");
     }
     _rows[rowId].BookASeat(seatId, person);
 }
Esempio n. 4
0
        // GET: SeatNumbers/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SeatNumber SeatNumbers = _SeatNumbersRepo.SelectById(id);

            if (SeatNumbers == null)
            {
                return(HttpNotFound());
            }
            return(View(SeatNumbers));
        }
Esempio n. 5
0
        // GET: SeatNumbers/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SeatNumber SeatNumber = _SeatNumbersRepo.SelectById(id);

            if (SeatNumber == null)
            {
                return(HttpNotFound());
            }
            ViewBag.SeatClassId = new SelectList(_SeatClass.SelectAll(), "SeatClassId", "SeatClassName");
            ViewBag.PlaneId     = new SelectList(_Planes.SelectAll(), "PlaneId", "PlaneName");
            return(View(SeatNumber));
        }
 public ActionResult Edit([Bind(Include = "SeatNumberId,SeatNumber1,SeatClassId,PlaneId")] SeatNumber SeatNumber)
 {
     if (!ModelState.IsValid)
     {
         return(View(SeatNumber));
     }
     try
     {
         _SeatNumbersRepo.Update(SeatNumber);
         _SeatNumbersRepo.Save();
     }
     catch (Exception)
     {
         // todo
     }
     return(RedirectToAction("Index"));
 }
Esempio n. 7
0
 public ActionResult Edit([Bind(Include = "SeatNumberId,SeatNo,SeatClassId,PlaneId")] SeatNumber SeatNumber)
 {
     if (!ModelState.IsValid)
     {
         ViewBag.SeatClassId = new SelectList(_SeatClass.SelectAll(), "SeatClassId", "SeatClassName");
         ViewBag.PlaneId     = new SelectList(_Planes.SelectAll(), "PlaneId", "PlaneName");
         return(View(SeatNumber));
     }
     try
     {
         _SeatNumbersRepo.Update(SeatNumber);
         _SeatNumbersRepo.Save();
     }
     catch (Exception)
     {
         // todo
     }
     return(RedirectToAction("Index"));
 }
Esempio n. 8
0
        public void SetContextMenuEnabled(bool isEnabled)
        {
            if (isEnabled)
            {
                var radContextMenu = new RadContextMenu();
                var menuItem       = new RadMenuItem()
                {
                    Header = "Choose Seat #" + SeatNumber.ToString()
                };
                menuItem.Click += MenuItem_Click;

                radContextMenu.Items.Add(menuItem);
                RadContextMenu.SetContextMenu(SeatShape, radContextMenu);

                IsContextMenuEnabled = true;
            }
            else
            {
                RadContextMenu.SetContextMenu(SeatShape, null);

                IsContextMenuEnabled = false;
            }
        }
Esempio n. 9
0
 public Seat(RowNumber row, SeatNumber seat)
 {
     this.SeatNum = seat;
     this.RowNum = row;
 }
Esempio n. 10
0
 public override string ToString()
 {
     return("Booked:[index:" + IndexCourse.ToString() +
            ", seat:" + SeatNumber.ToString() + ", Occuped:" + Occupied.ToString() + "]");
 }
Esempio n. 11
0
        private bool InsertBooking(out int newBookingId)
        {
            newBookingId = -1;

            txtFirstName.Text  = txtFirstName.Text?.Trim();
            txtLastName.Text   = txtLastName.Text?.Trim();
            txtPassportId.Text = txtPassportId.Text?.Trim();

            if (!HasValidInput)
            {
                if (SelectedFlight != null && SelectedFlight.IsInternational && txtPassportId.Text.Length < PASSPORT_ID_MIN_LENGTH)
                {
                    MessageBox.Show("Die Reisepassnummer muss bei Auslandsreisen mindestens " + PASSPORT_ID_MIN_LENGTH + " Zeichen lang sein.", "Ungültige Reisepassnummer", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return(false);
                }

                MessageBox.Show("Bitte zunächst alle erforderlichen Daten eingeben.", "Fehlende Eingaben", MessageBoxButton.OK, MessageBoxImage.Warning);

                return(false);
            }

            if (!Booking.IsWaiting && Booking.Passenger.Baggage.Count() < 1)
            {
                MessageBoxResult messageBoxResult = MessageBox.Show("Sind Sie sicher, dass Sie für diese Buchung keine Gepäckstücke hinterlegen möchten?", "Kein Gepäck angegeben", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

                if (messageBoxResult != MessageBoxResult.Yes)
                {
                    return(false);
                }
            }

            if (!Enum.TryParse(cmbTitle.SelectedItem?.ToString(), out Title passengerTitle))
            {
                MessageBox.Show("Kann Fluggast nicht in die Datenbank schreiben. Fehler beim Parsen der Anrede.");
                return(false);
            }

            ActionQueryResult passengerQueryResult = dbAccess.WritePassengerToDatabase(new Passenger(passengerTitle, txtFirstName.Text, txtLastName.Text, SelectedFlight.IsInternational ? txtPassportId.Text : null), out int passengerId);

            if (passengerQueryResult.HasError)
            {
                MessageBox.Show("Fehler beim Anlegen des Fluggastes.\r\n\r\nDetails:r\n" + passengerQueryResult.ErrorDetails, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }

            if (!Booking.IsWaiting)
            {
                SeatNumber?seatNumber = cmbSeat.SelectedItem as SeatNumber?;

                if (!seatNumber.HasValue)
                {
                    MessageBox.Show("Sitznummer konnte nicht in die Datenbank geschrieben werden. Es wurde keine Sitznummer ausgewählt.");
                    return(false);
                }

                SeatNumber seat = seatNumber.Value;

                ActionQueryResult seatQueryResult = dbAccess.WriteSeatToDatabase(seat, passengerId, SelectedFlight.Id);

                if (seatQueryResult.HasError)
                {
                    MessageBox.Show("Fehler beim Schreiben des Sitzokatzes in die Datenbank.\r\n\r\nDetails:\r\n" + seatQueryResult, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                    return(false);
                }

                foreach (Baggage bg in Booking.Passenger.Baggage)
                {
                    bg.FlightId = SelectedFlight.Id;
                    ActionQueryResult baggageQueryResult = dbAccess.WriteBaggageToDatabase(bg, passengerId);

                    if (baggageQueryResult.HasError)
                    {
                        MessageBox.Show("Fehler beim Schreiben eines Gepäckstücks in die Datenbank.\r\n\r\nDetails:\r\n" + baggageQueryResult, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                        return(false);
                    }
                }
            }

            ActionQueryResult bookingQueryResult = dbAccess.WriteRawBookingToDatabase(passengerId, SelectedFlight.Id, Booking.IsWaiting, out newBookingId);

            if (bookingQueryResult.HasError)
            {
                MessageBox.Show("Fehler beim Schreiben der Buchungsdaten in die Datenbank.\r\n\r\nDetails:\r\n" + bookingQueryResult, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }

            return(true);
        }
 public bool IsBooked(SeatNumber seatId)
 {
     throw new NotImplementedException();
 }
 public Seat(SeatNumber id)
 {
     SeatId = id;
 }
Esempio n. 14
0
 public ClientSeatReservationInfo(ScreeningId screeningId, SeatNumber seatNumber, DateTimeOffset reservedAt)
 {
     ScreeningId = screeningId;
     SeatNumber  = seatNumber;
     ReservedAt  = reservedAt;
 }
Esempio n. 15
0
 public Seat(RowNumber row, SeatNumber seat)
 {
     this.SeatNum = seat;
     this.RowNum  = row;
 }