Esempio n. 1
0
        public void RemoverMembro(Membro membro)
        {
            membro.Validate();

            if (!MembroPertenceGrupo(membro))
            {
                throw new DomainException($"Não é possível remover o membro pois ele não faz parte do grupo '{NomeGrupo}'.");
            }

            _membros.Remove(membro);
            QuantidadeMembros--;
        }
Esempio n. 2
0
        public void AdicionarMembro(Membro membro)
        {
            membro.Validate();

            if (GrupoEstaCheio())
            {
                throw new DomainException($"Não é possível adicionar um novo membro ao grupo '{NomeGrupo}' pois o número máximo ({NumeroMaximoMembros}) de participantes do grupo foi atingido.");
            }

            if (MembroPertenceGrupo(membro))
            {
                throw new DomainException($"Não é possível adicionar o novo membro pois ele já faz parte do grupo '{NomeGrupo}'.");
            }

            membro.AssociarGrupo(Id);
            _membros.Add(membro);
            QuantidadeMembros++;
        }
Esempio n. 3
0
 public bool MembroPertenceGrupo(Membro membro) => _membros.Any(u => u.Equals(membro));