Пример #1
0
        public void Deposit(decimal amount)
        {
            if (amount < 0)
            {
                throw new InvalidOperationException("Invalid amount value");
            }

            var depositSucceded = new DepositSuccededEvent(guid.ToString(), amount, EventReasons.NONE);

            Append(depositSucceded);
            Apply(depositSucceded);

            if (_state.Equals(AccountState.BLOCKED))
            {
                var unblockAccountEvent = new UnblockAccountCommand(guid.ToString());
                Append(unblockAccountEvent);
                Apply(unblockAccountEvent);
            }
        }
Пример #2
0
 private void Apply(DepositSuccededEvent evt)
 {
     _funds += evt.Amount;
 }