public void AddBankAccountCommandFail()
        {
            var cmd = new AddBankAccountCommand(_id, string.Empty, string.Empty);

            _handler.Handle(cmd);
            Assert.IsFalse(_handler.Valid, _handler.Notifications.FirstOrDefault().Message);
        }
        public void AddBankAccountCommandOk()
        {
            var cmd = new AddBankAccountCommand(_id, "Itaú", "144116");

            _handler.Handle(cmd);
            Assert.IsTrue(_handler.Valid);
        }
        public Task<bool> Handle(AddBankAccountCommand command)
        {
            var entity = _repository.Get(command.Id);

            if (entity == null)
            {
                AddNotification("correntista", "Correntista não localizado");
                return Task.FromResult(false);
            }

            entity.AddAccount(new BankAccount(
                    Guid.NewGuid(),
                    new Name(command.BankName),
                    command.Number
                ));
            AddNotifications(entity);

            if (Invalid) return Task.FromResult(false);

            _repository.Update(entity);
            _uow.Commit();

            return Task.FromResult(true);
        }