コード例 #1
0
 private MeetingGroupPayment(PaymentTerm term, PayerId payerId)
 {
     this.Id  = new MeetingGroupPaymentId(Guid.NewGuid());
     _term    = term;
     _payerId = payerId;
     _date    = SystemClock.Now;
 }
コード例 #2
0
 internal MeetingGroupPayment(PaymentTerm term, PayerId payerId)
 {
     this.Id  = new MeetingGroupPaymentId(Guid.NewGuid());
     _term    = term;
     _payerId = payerId;
     _date    = DateTime.UtcNow;
 }
コード例 #3
0
 internal bool OverlapsWith(PaymentTerm term)
 {
     return(this.IsBetween(term.StartDate) ||
            this.IsBetween(term.EndDate) ||
            term.IsBetween(this.StartDate) ||
            term.IsBetween(this.EndDate));
 }
        public void RegisterPayment(PaymentTerm term, PayerId payerId)
        {
            var meetingGroupPayment = new MeetingGroupPayment(term, payerId);

            this.CheckRule(new MeetingGroupPaymentsCannotOverlapRule(_payments, meetingGroupPayment));

            _payments.Add(meetingGroupPayment);

            this.AddDomainEvent(new PaymentRegisteredDomainEvent(this.Id, term.EndDate));
        }
コード例 #5
0
        public void RegisterPayment(PaymentTerm term, PayerId payerId)
        {
            _payments.Add(new MeetingGroupPayment(term, payerId));

            this.AddDomainEvent(new PaymentRegisteredDomainEvent(this.Id, term.EndDate));
        }
コード例 #6
0
 internal static MeetingGroupPayment CreateForTerm(PaymentTerm term, PayerId payerId)
 {
     return(new MeetingGroupPayment(term, payerId));
 }