Ejemplo n.º 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);
            }
        }
Ejemplo n.º 2
0
 private void Apply(UnblockAccountCommand evt)
 {
     _state = AccountState.UNBLOCKED;
 }