示例#1
0
        public void CustomerRefusesToPay(CustomerRefusesToPayView view)
        {
            var logItem = String.Format("Customer {0} refuses to pay €{1} for its order ({2} - {3}).",
                                        view.CustomerName, view.Amount, view.Drink, view.DrinkSize);

            Invoke(new Action <String>(Log), logItem);
        }
        public void Handle(PaymentMessage message)
        {
            if (message.Amount >= Data.Amount)
            {
                var viewData = new ReceivedFullPaymentView(Data.CustomerName, Data.Drink, Data.DrinkSize);
                _view.ReceivedFullPayment(viewData);

                Bus.Publish(new PaymentCompleteMessage(Data.OrderId));
            }
            else if (message.Amount == 0)
            {
                var viewData = new CustomerRefusesToPayView(Data.CustomerName, Data.Amount, Data.Drink, Data.DrinkSize);
                _view.CustomerRefusesToPay(viewData);
            }

            MarkAsComplete();
        }