/// <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); }
private void Apply(BankAccountDetailsView view, WithdrawalPerformed @event) { view.Id = @event.AccountId; view.CashFlow.Add(new CashFlowItem(@event.Created, (@event.Sum * -1))); }
public void Apply(WithdrawalPerformed @event) { Id = @event.AccountId; Balance -= @event.Sum; LastModified = @event.Created; }
private void Apply(BankAccountShortInfoView view, WithdrawalPerformed @event) { view.Id = @event.AccountId; view.Balance -= @event.Sum; }