Пример #1
0
        private void ButtonBuy_Click(object sender, EventArgs e)
        {
            IPaymentMethod paymentMethod = (IPaymentMethod)ComboPaymentMethod.SelectedItem;

            int numberOfTickets = (int)NumericUpDownTickets.Value;

            if (numberOfTickets > socialEvent.GetAmountOfAvailableTickets())
            {
                MessageBox.Show($"Only {socialEvent.GetAmountOfAvailableTickets()} tickets available!");
                return;
            }

            int price = numberOfTickets * socialEvent.PricePerTicket;

            if (paymentMethod.PayForItem(socialEvent.Name, price))
            {
                List <Ticket> tickets = new List <Ticket>();
                for (int i = 0; i < numberOfTickets; i++)
                {
                    tickets.Add(new Ticket(socialEvent));
                }

                UpdateAvailableTicketsTextBox();

                Receipt receipt = new Receipt(numberOfTickets, tickets[0], "nok", paymentMethod.ToString());
                MessageBox.Show(receipt.GenerateReceipt(), "Your purchase was successful");
            }
            else
            {
                MessageBox.Show("Failed to buy tickets", paymentMethod.ToString());
            }
        }