コード例 #1
0
        private void OnRemoveTicket()
        {
            Spot            spot = SelectedSpot;
            ConfirmationBox cb   = new ConfirmationBox
            {
                Message =
                    String.Format(
                        "Вы действительно желаете удалить билет № {0}, {1}, {2}, {3} ряд, {4} место из списка билетов заказа?",
                        spot.Id, spot.SideName, spot.SectorName, spot.RowNum, spot.SeatNum)
            };


            bool?result = cb.ShowDialog();

            if (result ?? false)
            {
                //First we cancel ticket in the order
                Customer.Order.Seats = new List <Seat> {
                    new Seat()
                    {
                        Id = spot.Id
                    }
                };
                Customer.Order = Data.Access.Cancel(Customer.Order);

                // Then we remove a seat from selected seats collection
                SelectedSpots.Remove(spot);
                // and mark spot as unselected on the map
                foreach (Spot s in Spots)
                {
                    if (s.Id == spot.Id)
                    {
                        s.IsSelected = false;
                        s.Width      = 20;
                        s.Height     = 20;
                    }
                }

                // At last we again lock seats
                if (SelectedSpots.Count > 0)
                {
                    LockSeats(SelectedSpots.ToArray());
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Closes wizard
        /// </summary>
        private void OnCloseWizard()
        {
            if (_wisardStep == WisardStep.Locked)
            {
                _worker     = null;
                _wisardStep = WisardStep.None;
                _wizardWindow.Close();
                ReleaseSeats(SelectedSpots.ToArray());
                OnSpotsChanged();
                StatusText = String.Empty;
            }

            if (_wisardStep == WisardStep.OrderCreated)
            {
                _worker     = null;
                _wisardStep = WisardStep.None;
                _wizardWindow.Close();
                OnSpotsChanged();
                StatusText = String.Empty;
            }

            if (_wisardStep == WisardStep.OrderPaid)
            {
                _worker     = null;
                _wisardStep = WisardStep.None;
                _wizardWindow.Close();
                OnSpotsChanged();
                StatusText = String.Empty;
            }

            if (_wisardStep == WisardStep.Printed)
            {
                _worker     = null;
                _wisardStep = WisardStep.None;
                _wizardWindow.Close();
                OnSpotsChanged();
                StatusText = String.Empty;
            }

            _wizardWindow = null;
        }
コード例 #3
0
        private void OnRemoveSeat()
        {
            if (SelectedSpot != null)
            {
                Spot            spot = SelectedSpot;
                ConfirmationBox cb   = new ConfirmationBox
                {
                    Message = String.Format(
                        "Вы действительно желаете удалить место № {0}, {1}, {2}, {3} ряд, {4} место из списка выбранных мест?",
                        spot.Id, spot.SideName, spot.SectorName, spot.RowNum, spot.SeatNum)
                };
                bool?result = cb.ShowDialog();
                if (result ?? false)
                {
                    // First we release all the selected seats
                    List <Seat> seats = ReleaseSeats(SelectedSpots.ToArray());
                    if (seats != null)
                    {
                        // Then we remove a seat from selected seats collection
                        SelectedSpots.Remove(spot);
                        // and mark spot as unselected on the map
                        foreach (Spot s in Spots)
                        {
                            if (s.Id == spot.Id)
                            {
                                s.IsSelected = false;
                                s.Width      = 20;
                                s.Height     = 20;
                            }
                        }

                        // At last we again lock seats
                        if (SelectedSpots.Count > 0)
                        {
                            LockSeats(SelectedSpots.ToArray());
                        }
                    }
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Opens wizard window with ReserveSeats view
        /// Locks selected seats
        /// </summary>
        private void OnReserveSeats()
        {
            if (_wizardWindow == null)
            {
                WizardTitle   = "Создать заказ";
                FirstName     = String.Empty;
                MiddleName    = String.Empty;
                LastName      = String.Empty;
                CustomerEmail = String.Empty;
                CustomerPhone = String.Empty;
                SendSms       = false;

                LockSeats(SelectedSpots.ToArray());
                _wisardStep = WisardStep.Locked;

                _wizardWindow = new WizardWindow {
                    Owner = MetroWindow
                };

                ContentWindow = new ReserveViewModel(Instance);
                _wizardWindow.ShowDialog();
            }
        }