コード例 #1
0
        /// <summary>
        /// Выполнить списание с расчетного счета.
        /// </summary>
        /// <param name="sum">Сумма списания.</param>
        public void PerformWithdrawal(decimal sum, Guid correlationId)
        {
            CheckRules(new WithdrawalSumExceedsAccountBalanceRule(sum, Balance));

            WithdrawalPerformed.Create(Id, correlationId, sum)
            .Do(Enqueue)
            .Do(Apply);
        }
コード例 #2
0
 private void Apply(BankAccountDetailsView view, WithdrawalPerformed @event)
 {
     view.Id = @event.AccountId;
     view.CashFlow.Add(new CashFlowItem(@event.Created, (@event.Sum * -1)));
 }
コード例 #3
0
 public void Apply(WithdrawalPerformed @event)
 {
     Id           = @event.AccountId;
     Balance     -= @event.Sum;
     LastModified = @event.Created;
 }
コード例 #4
0
 private void Apply(BankAccountShortInfoView view, WithdrawalPerformed @event)
 {
     view.Id       = @event.AccountId;
     view.Balance -= @event.Sum;
 }