Exemplo n.º 1
0
        public void Consume(PaymentDueMessage message)
        {
            string prompt = string.Format("Payment due: ${0} Would you like to add a tip?", message.Amount);

            DialogResult result = MessageBox.Show(prompt, "Payment Due", MessageBoxButtons.YesNoCancel);

            decimal payment = message.Amount;

            if (result == DialogResult.Yes)
            {
                payment += payment * 0.2m;
            }

            if (result != DialogResult.Cancel)
            {
                var submitPaymentMessage = new SubmitPaymentMessage
                {
                    CorrelationId = message.CorrelationId,
                    PaymentType   = PaymentType.CreditCard,
                    Amount        = payment,
                };

                Bus.Publish(submitPaymentMessage);
            }
        }
Exemplo n.º 2
0
        void ProcessPayment(SubmitPaymentMessage message)
        {
            if (message.Amount > _amount)
            {
                Console.WriteLine("Thanks for the tip!");
            }
            else if (message.Amount < _amount)
            {
                Console.WriteLine("What are you, some kind of charity case?");
            }

            var paymentType = message.PaymentType;

            Console.WriteLine("Received a payment of {0} for {1} ({2})", paymentType, _item, _size);

            if (paymentType == PaymentType.CreditCard)
            {
                Console.Write("Authorizing Card...");
                Thread.Sleep(4000);
                Console.WriteLine("done!");
            }

            var completeMessage = new PaymentCompleteMessage
            {
                CorrelationId = message.CorrelationId,
            };

            Bus.Publish(completeMessage);
        }