public void Deposit(decimal amount) { if (_state.HasFlag(AccountState.Close)) { Console.WriteLine("La cuenta se encuentra cerrada"); throw new AccountClosedException(); } if (_state.HasFlag(AccountState.Open) && !_state.HasFlag(AccountState.Verfied)) { Console.WriteLine("La cuenta no se encuentra verificada"); throw new AccountNotVerifiedException(); } if (_state.HasFlag(AccountState.Open) && _state.HasFlag(AccountState.Verfied)) { deposit(amount); } ManageFrozenProcess(); }