コード例 #1
0
        public void AcceptPayment(Payment payment, User user)
        {
            Require.NotNull(payment, "payment");
            Require.NotNull(user, "user");

            if (payment.PaymentStatus == PaymentStatus.Accecpted)
            {
                throw new InvalidOperationException("Die Zahlung wurde bereits akzeptiert und gebucht.");
            }

            payment.Accept(new EntityChangedDto(user, DateTime.Now));
            /*Der Nutzer der das tatsächliche Geld empfangen hat, ist der dem das Geld vom Konto abgezogen wird.*/
            Account bookingRecipient = payment.Recipient;
            /*Der Nutzer der das tatsächliche Geld abgegeben hat, ist der dem das Geld auf dem Konto gutgeschrieben wird.*/
            Account bookingSender = payment.Sender;

            BookingService.Book(bookingRecipient, bookingSender, payment.Amount, payment.Text);
        }
コード例 #2
0
 public PaymentProcessingResult Process(Payment payment)
 {
     payment.Accept(this);
     // ...
 }