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); } }
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); }