コード例 #1
0
 private void When(MeetingFeeCreatedDomainEvent meetingFeeCreated)
 {
     this.Id    = meetingFeeCreated.MeetingFeeId;
     _payerId   = new PayerId(meetingFeeCreated.PayerId);
     _meetingId = new MeetingId(meetingFeeCreated.MeetingId);
     _fee       = MoneyValue.Of(meetingFeeCreated.FeeValue, meetingFeeCreated.FeeCurrency);
     _status    = MeetingFeeStatus.Of(meetingFeeCreated.Status);
 }
コード例 #2
0
 private async Task When(MeetingFeeCreatedDomainEvent meetingFeeCreated)
 {
     await _connection.ExecuteScalarAsync(
         "INSERT INTO payments.MeetingFees " +
         "([MeetingFeeId], [PayerId], [MeetingId], [FeeValue], [FeeCurrency], [Status]) " +
         "VALUES (@MeetingFeeId, @PayerId, @MeetingId, @FeeValue, @FeeCurrency, @Status)",
         new
     {
         meetingFeeCreated.MeetingFeeId,
         meetingFeeCreated.PayerId,
         meetingFeeCreated.MeetingId,
         meetingFeeCreated.FeeValue,
         meetingFeeCreated.FeeCurrency,
         meetingFeeCreated.Status
     });
 }
コード例 #3
0
        public static MeetingFee Create(
            PayerId payerId,
            MeetingId meetingId,
            MoneyValue fee)
        {
            var meetingFee = new MeetingFee();

            var meetingFeeCreated = new MeetingFeeCreatedDomainEvent(
                Guid.NewGuid(),
                payerId.Value,
                meetingId.Value,
                fee.Value,
                fee.Currency,
                MeetingFeeStatus.WaitingForPayment.Code);

            meetingFee.Apply(meetingFeeCreated);
            meetingFee.AddDomainEvent(meetingFeeCreated);

            return(meetingFee);
        }