示例#1
0
 public static AppointmentPaymentInvoiced Create(Identifier id, AppointmentPayment payment)
 {
     return(new AppointmentPaymentInvoiced
     {
         EntityId = id,
         AppointmentId = payment.AppointmentId,
         Amount = payment.Amount,
         Currency = payment.Currency,
         ModifiedUtc = DateTime.UtcNow
     });
 }
示例#2
0
        protected override void OnStateChanged(IChangeEvent @event)
        {
            switch (@event)
            {
            case Events.Payment.Created _:
                break;

            case Events.Payment.AppointmentPaymentInvoiced added:
                AppointmentInvoice = new AppointmentPayment(added.AppointmentId.ToIdentifier(), added.Amount,
                                                            added.Currency);
                Logger.LogDebug("Payment {Id} added invoice for appointment {Appointment}", Id,
                                added.AppointmentId);
                break;

            default:
                throw new InvalidOperationException($"Unknown event {@event.GetType()}");
            }
        }
示例#3
0
 public void CreateInvoice(AppointmentPayment appointmentPayment)
 {
     RaiseChangeEvent(PaymentsDomain.Events.Payment.AppointmentPaymentInvoiced.Create(Id, appointmentPayment));
 }