예제 #1
0
        public void Para(Quarto onde, Boolean ehCoordenador)
        {
            if (onde == null)
            {
                throw new ArgumentNullException("onde", "Não pode ser nulo.");
            }

            if (onde == mQuartoOrigem)
            {
                throw new ArgumentException("Não se pode mover uma inscrição para o mesmo quarto.");
            }

            if (onde.Capacidade != null && onde.Capacidade.Value + mInscricoes.Length > onde.Capacidade.Value)
            {
                throw new ArgumentException("Não há vagas neste quarto.");
            }

            foreach (var inscrito in mInscricoes)
            {
                onde.AdicionarInscrito(inscrito.Inscricao, ehCoordenador);
                mQuartoOrigem.RemoverInscrito(inscrito);
            }
        }
예제 #2
0
        public void RemoverInscrito(Inscricao inscrito)
        {
            if (inscrito == null)
            {
                throw new ArgumentNullException("inscrito", "Não pode ser nulo.");
            }

            if (inscrito.Evento != mQuarto.Evento)
            {
                throw new ArgumentException("Esta inscrição é de outro evento.", "inscrito");
            }

            /*if (inscrito is InscricaoInfantil)
             *  throw new ArgumentException("Não se pode excluir uma inscrição de criança.", "inscrito");*/

            QuartoInscrito inscricao = null;

            if ((inscricao = mQuarto.Inscritos.FirstOrDefault(x => x.Inscricao == inscrito)) == null)
            {
                throw new ArgumentException("Esta inscrição não está no quarto.");
            }

            mQuarto.RemoverInscrito(inscricao);
        }